需求分析
OneDrive作为一个同步、备份云盘,但其中的同步目录只有默认的三个,需要将文件放入这些指定目录下才可以实现同步:
另外,若开启了这些目录的同步功能,OneDrive会将这些文件的所在目录自动转移到其根目录下(一般在C盘),且难以复原。
如何同步自定义的目录是本文章将要解决的问题。
具体实现
mklink是一条内置Windows系统的命令,实现创建某文件的符号链接或硬链接。
打开cmd窗口,输入mklink即可查看基本语法信息:
对于本次的需求,使用以下命令即可:
mklink /D <link> <target>
D不区分大小写,可以用/d替代/D
<link>:目标位置,用双引号包裹
<target>:源文件目录,用双引号包裹
要把"C:\test"同步到OneDrive的根目录中(会自动生成同名文件夹),只需要在cmd中输入:
mklink /D "{你的OneDrive根目录}\test" "C:\test"
提示如下信息即成功:
遇到的问题
使用符号链接会产生一个新的问题,在遇到文件修改时无法实时被同步,需要退出并重新打开OneDrive后才能触发同步。此外,文件永远显示“同步被挂起”的状态。
解决方案:
-
将实际文件夹存放在OneDrive中,映射到本地,这样可以正常实现双向实时同步。
-
对于另一种解决方案,通过使用插件,定时在OneDrive的根目录生成空文件以触发它的同步机制,有兴趣的朋友可以前往以下链接自行查看:
GitHub – ktheod/OneDriveBully: Bully your OneDrive to sync Symbolic Link Folders
由于目前作者已停止对该插件的更新维护,所以本人没有测试过该插件。
其他
符号链接和快捷方式
简单来说,mklink生成的是一个与源对象相同类型的文件或文件夹(映射),不占用磁盘空间,修改时可以双向修改;而创建快捷方式生成的仅仅只是.lnk文件,访问时需跳转回源目录。
容量扩充购买建议
Microsoft 365 家庭订阅,可以扩充一年OneDrive1TB容量,并附带一年Office,最多可供6人使用。
参考内容
Onedrive 如何同步一个文件夹? – 知乎 (zhihu.com)
mklink | Microsoft Learn
windows 10 – 2-Way sync doesn't work in OneDrive when using symbolic links or junctions – Super User
GitHub – ktheod/OneDriveBully: Bully your OneDrive to sync Symbolic Link Folders
#免责声明#
①本站部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
②若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
③如果本站有侵犯、不妥之处的资源,请联系我们。将会第一时间解决!
④本站部分内容均由互联网收集整理,仅供大家参考、学习,不存在任何商业目的与商业用途。
⑤本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与任何商业和非法行为,请于24小时之内删除!