前言

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 必须 指定新符号链接引用的路径(绝对路径或相对路径均可)

注意事项

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