使用 OneDrive 同步任意文件夹

OneDrive 在国内的同步速度还是很不错的,但存在一个问题,它不像其他网盘一样可以自由选择同步任意位置的文件夹。比如我想把 D 盘的 Dir 文件夹同步,就必须把 Dir 文件夹移动到系统的 OneDrive 文件夹中,实际操作中有很多不便。

好在可以通过创建目录符号链接的方法来解决,方法如下:

创建目录符号链接开始同步

  1. 使用系统管理员权限打开 cmd
  2. 比如 OneDrive 文件夹位于 C:\Users\OneDrive,我想把 D:\test 文件进行同步,输入如下命令:
    mklink /d C:\Users\OneDrive\test D:\test
    意即在 OneDrive 目录下创建一个 D:\test 的目录符号链接,它也是一个文件夹,名字叫 test,空间占用为 0,可以理解为一个“入口”
  3. 后续你在 D:\test 文件夹中的任何操作都会自动得到同步。

修改目录符号链接目标文件夹地址

Windows 尚不能提供直接修改的手段,可以尝试用如下方法解决,修改前为避免错误,请先退出 OneDrive 同步程序

  1. 手动删除旧目录符号链接,再创建同名新目录符号链接。

  2. 下载第三方 Windows Link Shell Extension 获得图形化界面进行修改。

Hard link, Symbolic link 以及 Junction

Hard link 和 Symbolic link 可以类比 Linux 中的软硬链接概念加以理解。比较难以辨析的就是 Symbolic link 和 Junction 的区别,简而言之,它们在本地计算机几乎无差别,但涉及到访问远程计算机时就出现差别了。

假设一台计算机叫 Alice 你创建了一个 junction point c:\myjp 和一个 symbolic link c:\mysymlink,两个目录都指向 c:\targetfolder。当你使用计算机 Alice 时,它们几乎没有差别,但当你使用另一台计算机 Bob 访问时

对于 junction point
\\Alice\c$\myjp 指向 \\Alice\c$\targetfolder

但对于 symbolic link
\\Alice\c$\mysymlink 指向 \Bob\c$\targetfolder`

参考链接

使用 OneDrive 同步任意文件夹》有一个想法

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注