OneDrive同步任意文件夹

需求:想要通过onedrive同步备份一个工作文件夹。

依次打开OneDrive:设置-备份-重要电脑文件夹-管理备份,发现默认只能备份特定的文件夹,即桌面、文档、图片。如何备份指定的文件夹而无需特意将文件夹拖入OneDrive目录呢?

使用Windows自带的mklink命令创建符号链接:

1、以管理员身份打开cmd命令行

2、输入mklink /d “onedrive文件夹地址\同步文件夹名” “需要同步的文件夹地址”
比如我要备份的文件夹是C:\Users\XXX\Documents\doc,OneDrive文件夹的地址为C:\Users\XXX\OneDrive,则在命令行中输入

mklink /d “C:\Users\XXX\OneDrive\doc” “C:\Users\XXX\Documents\doc”

注意:不需要提前在OneDrive中新建doc文件夹,输入该命令后,会自动创建该文件夹。

3、如果成功,会输出提示:

为 C:\Users\XXX\OneDrive\doc <<===>> C:\Users\XXX\Documents\doc 创建的符号链接
然后OneDrive就会自动同步备份该文件夹了。


关于mklink命令

  • 1.1 简介

NTFS 符号链接又称“符号链接”,是 NTFS 文件系统中指向文件系统中的另一个对象的一类对象,被指向的对象叫做“目标”。mklink 是 Windows 下用于创建符号链接的工具,存在于 Windows Vista 及以后版本的 Windows 操作系统中。

  • 1.2 使用方式

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

  • 1.3 注意

参数 Link 和 Target 要求不能使用 Windows 中不允许用作文件名的字符(\ / : * ? ” < > |)。并且如果 Link 和 Target 这两个参数中需要包含空格,则必须使用英文双引号将内容引起来,以避免参数识别错误。

  • 1.4 限制

符号链接在系统启动的时候是不工作的,所以下面这些文件(夹)是不可以作为符号链接替换的:
\Windows
\Windows\system32
\Windows\system32\config