向onedrive发送文件夹或文件的链接实现同步
Onedrive在Windows系统下还是备份首选,多数人也都有5T甚至更大的备份空间。
但常规做法往往是将Onedrive文件保存于系统C盘,再需要同步什么文件或文件夹,则必须将其放入Onedrive文件夹,很不方便的同时,C盘空间也没有那么大。
所以本文有两个目的:一是将Onedrive文件夹指向系统盘以外的资料盘,二是利用CMD命令随便向Onedrive文件夹内添加符号链接
,以实现不必放入该文件夹(仍在各自原来的位置不变)的前提下实现Onedrive同步。
一、 将Onedrive文件夹指向系统盘以外的资料盘
onedrive的默认存储目录位于C盘,随着onedrive存储文件的增多,C盘空间有时就会显得捉襟见肘了,尤其是对于我这种购买了office365的用户,30G+的文件存在C盘还是有些浪费,因此一个好的解决办法就是将Onedrive的存储目录迁移到机械硬盘D盘中。
首先我们需要在任务栏中右键Onedrive图标,选择设置,在账户选项中,选择*取消链接此电脑,*此时将显示 OneDrive 设置屏幕,但此时完全可以忽略它。
接下来移动Onedrive文件夹,通常Onedrive存储目录位于C:\Users[用户名]*下,选中Onedrive目录,在顶部主页*菜单中选择移动到*,然后输入文件存储位置,选择**移动***即可。
然后重新登录Onedrive,输入账户和密码后会出现更改 OneDrive 文件夹位置的屏幕。选择更改位置,再选择新的文件夹位置,然后选择确定。
之后经过一些默认的操作之后,Onedrive就已经转移到新的目录里了。
二、利用CMD命令随便向Onedrive文件夹内添加符号链接
mklink命令是可以同步目录中的文件的~我们只需要执行对应的操作即可。
具体操作如下:
对于OneDrive而言,默认的同步文件夹共有四个,分别包括:
- “桌面”“文档”与“图片”文件夹:
- 自动同步的OneDrive文件夹,默认路径为“C:\用户[用户名]”:
其中,自动同步的OneDrive文件夹的实际位置取决于初次配置OneDrive帐号时用户的选择,例如我将这一文件夹放置于G 盘:
一般地,将需要同步的文件或文件夹放入上述四个文件夹内,即可实现本地与OneDrive云端的文件同步。如果我们需要同步电脑中其它位置的文件或文件夹,可以将他们直接复制粘贴到上述四个文件夹内,但比较麻烦。因此,我们可以借助mklink
命令实现。
例如,如果我们需要将原本不在OneDrive同步文件夹内的“G:\我的图片”文件夹及其中内容放入OneDrive:
首先,摁下Windows
键,输入cmd
,选择“命令提示符”,并选择“以管理员身份运行”。
在打开的界面中,输入:
1 | mklink /d "G:\OneDrive - webmail.hzau.edu.cn\我的图片" "G:\我的图片" |
这里需要注意的是:如果路径中有空格,就要在路径两端加上双引号(当然没空格加引号也没关系)。还有,如果新建的路径目录只支持一级,即不能再在“我的图片”以下建子目录,会提示“系统找不到指定的路径”。当然,后面的源文件夹路径不受此约束。
其中,第一个引号内部前半部分为OneDrive所在的位置,也就是上述2中的自动同步OneDrive文件夹,例子中为G:\OneDrive - webmail.hzau.edu.cn
;后半部分为希望放入OneDrive的文件夹的名称,例子中为\我的图片
。请注意,此时需要保证自动同步OneDrive文件夹内不含同名的文件夹,例子中即为不含名称为我的图片
的文件夹。
第二个引号内部为需要同步的文件夹路径与名称,例子中为G:\我的图片
。
若为这样的结果,证明操作无误。
此时,自动同步OneDrive文件夹中已出现“我的图片”
相关图片也已经开始上传。
在线查看OneDrive,发现云中已经存在了相关文件。
此外,大家发现没有,上述操作可以指定文件夹为符号链接,但却不能指定单独的文件。
mklink /d
命令在Windows中创建的是目录(文件夹)链接。如果您需要创建指向文件的链接,应使用 /h
或 /j
参数代替 /d
。
这是两个参数的具体使用方法:
mklink /h
创建硬链接,指向文件。例如:
1 | mklink /h LinkToFile.txt(同步文件) OriginalFile.txt(源文件) |
先进入你想同步某(些)文件的Onedrive文件夹,可以先新建好该文件夹:
以管理员身份打开CMD或Shell,cd
到刚刚新建好的文件夹。执行以上命令。
如有多个单文件,则分别指定LinkToFile.txt(同步文件)
和OriginalFile.txt(源文件)
。
到新建的文件夹查看,新添加的同步文件都已经到Onedrive同步文件夹并开始同步了!
PS:还有一个mklink /j
命令也可以创建目录联接。例如:
1 | mklink /j LinkToFolder(同步文件夹) OriginalFolder(源文件夹) |