cvooc

OneDrive设置自动同步任意文件夹

前言

OneDirve 作为微软祖传的云盘,结合各种微软全家桶如 Office 使用起来是很便捷的. 不过你是否发现 OneDrive 只能默认同步他自己文件夹下的内容,而你无法任意设置他自动同步的路径呢?

一行简单的命令

我们以桌面文件夹为例,我在桌面有一个文件夹(或者文件)“C:\Users\Default\Desktop\HelloWorld”, 接下来我们获取一下 OneDrive 的文件夹路径,一般为"C:\Users\Default\OneDrive". 现在我们以管理员权限运行 CMD,不然命令将会无效. 接着输入如下命令回车即可.

mklink /d OneDrive的同步文件夹 我们需要自动同步的文件夹
mklink /d C:\Users\Default\OneDrive C:\Users\Default\Desktop\HelloWorld

原理

mklink 是 Windows 下用于创建符号链接的工具,存在于 Windows Vista 及以后版本的 Windows 操作系统中。

命令格式

mklink [ [/D] | [/H] | [/J] ] Link Target
参数可选/必须说明
/D可选创建目录符号链接而不是文件符号链接(默认为文件符号链接)
/H可选创建硬链接而不是符号链接
/J可选创建目录连接点
Link必须指定新的符号链接名称
Target必须指定新符号链接引用的路径(绝对路径或相对路径均可)

注意事项

  1. 参数 Link 和 Target 要求不能使用 Windows 中不允许用作文件名的字符(\ / : * ? " < > |)。并且如果 Link 和 Target 这两个参数中需要包含空格,则必须使用英文双引号将内容引起来,以避免参数识别错误。
  2. 使用 mklink 创建符号链接的时候,操作系统并不会检查目标是否存在。所以可以创建指向不存在的目标的符号链接。
  3. 注意尽可能不要使用符号链接嵌套。也就是在一个文件夹 A 中创建一个符号链接指向 A 自己。这会产生一个无限循环递归的文件系统(Windows 下限制了路径长度最大为 128 个字节),会使大部分应用程在遍历文件夹目录的时候产生循环错误(因为对应用程序来说,文件夹的符号链接与普通的文件夹是完全一样的)。