问题情景
众所周知 OneDrive 客户端是一款只有“同步盘”功能的网盘,虽然可以方便地与 Windows Explorer 耦合同步本地文件,但如果想将同步目录外的文件(夹)上传至 OneDrive,只有以下三种方法:
- 将文件剪切到同步目录下,但这样会破环原本的存放位置
- 将文件复制到同步目录下,同步后再选择“释放空间”,但这样在上传时会占用双倍磁盘空间,且上传大文件时本地拷贝时间很长
- 利用 OneDrive 网页版上传,但网页上传稳定性一般,容易上传出错或失败,导致反复重新上传
那么如何在不移动本地文件的情况下用 OneDrive 客户端将文件上传至 OneDrive 呢?本文介绍一种利用 mklink 软链接命令实现的方法
方法细则
情景假设:
- OneDrive 同步文件目录:
C:\OneDrive
- 需要上传至 OneDrive 的文件目录:
D:\TestFiles
步骤一 创建链接
打开 cmd,使用命令
mklink /d C:\OneDrive\TestFiles D:\TestFiles
此命令将在 OneDrive 同步目录中创建名为 TestFiles 的文件夹,该文件夹与 D:\TestFiles 链接
此时 OneDrive 将自动开始上传
步骤二 网页端复制文件(重要)
此时如果直接取消链接,OneDrive 会认为我们删除了文件,从而删除刚刚上传的文件
所以待 OneDrive 上传完毕后,登录 OneDrive 网页版,将上传的文件复制一份到任意位置
步骤三 取消文件链接
继续在 cmd 中使用命令
rmdir C:\OneDrive\TestFiles
这样就取消了链接,并在云端删除了复制前的文件
进阶方法
使用 mklink 是不借助外部工具最便捷的方法,但先上传再复制的操作可能还是略嫌麻烦,如果有大量需要上传的文件,那么建议借助 rclone 工具进行上传
下载 rclone 后使用 cmd
rclone config # 打开 rclone 设置 n # 新建盘 ## 根据提示绑定 OneDrive rclone copy -v D:\TestFiles <name>:\TestFiles # 使用 copy 命令将文件复制到 OneDrive # -v 输出 ERROR,NOTICE 和 INFO 日志 # <name> 是绑定网盘时设置的名称
文章评论
那牛逼啊6666