OneDriveUploader:多线程上传文件/文件夹到OneDrive,支持Linux、Windows、MacOS

这个工具,是我现在用到的最好用的,建议使用!

一、OneDriveUploader介绍

支持上传文件和文件夹到指定目录,并保持上传前的目录结构.
支持命令参数使用, 方便外部程序调用.
支持自定义上传分块大小.
支持多线程上传(多文件同时上传).
支持根据文件大小动态调整重试次数

二、OneDrive授权

打开 https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=ea2b36f6-b8ad-40be-bc0f-e5e4a4a7d4fa&response_type=code&redirect_uri=http://localhost/onedrive-login&response_mode=query&scope=offline_access%20User.Read%20Files.ReadWrite.All

然后会获取到一个网址,不要关闭,后面用到。

三、LInux下,OneDriveUploader的使用

1、下载,并给权限

wget https://raw.githubusercontent.com/MoeClub/OneList/master/OneDriveUploader/amd64/linux/OneDriveUploader -P /usr/local/bin/
chmod +x /usr/local/bin/OneDriveUploader

2、初始化

OneDriveUploader -a "url"

把url替换为上图浏览器中获得的地址,以http://loaclhost开头的。一次授权,以后就不会用到了。

3、配置文件

授权成功后,就在同目录生成了配置文件 auth.json (所以,为便于操作,选择个好记的目录执行 初始化)
修改配置文件,也可以不修改,我主要是改了线程

4、使用命令,所有命令后面的参数都要有英文双引号 “”

-s // *必要参数,要上传的文件或文件夹
-r // 上传到网盘中的某个目录,默认: 根目录
-t // 线程数, 同时上传文件的个数. 默认: 2
-b // 自定义上传分块大小, 可以提高网络吞吐量, 受限于磁盘性能和网络速度.
-c // 配置文件路径
-f // 开关
// 加上 -f 参数,强制读取 auth.json 中的块大小配置和多线程配置.
// 不加 -f 参数, 每次覆盖保存当前使用参数到 auth.json 配置文件中.
-n // 上传单个文件时,在网盘中重命名

5、使用举例

# 将同目录下的 mm00.jpg 文件上传到 OneDrive 网盘根目录
OneDriveUploader -s "mm00.jpg"

# 将同目录下的 mm00.jpg 文件上传到 OneDrive 网盘根目录,并改名为 mm01.jpg
OneDriveUploader -s "mm00.jpg" -n "mm01.jpg"

# 将同目录下的 Download 文件夹上传到 OneDrive 网盘根目录
OneDriveUploader -s "Download" 

# 将同目录下的 Download 文件夹上传到 OneDrive 网盘Test目录中
OneDriveUploader -s "Download" -r "Test"

# 将同目录下的 Download 文件夹上传到 OneDrive 网盘Test目录中, 使用 10 线程
OneDriveUploader -t 10 -s "Download" -r "Test"

# 将同目录下的 Download 文件夹上传到 OneDrive 网盘Test目录中, 使用 15 线程, 并设置分块大小为 20M
OneDriveUploader -t 15 -b 20 -s "Download" -r "Test"

6、如果文件多、大,可让程序后台运行:nohub OneDriveUploader -s “文件或目录” &

四、Windows下,OneDriveUploader的使用

下载软件到英文目录,最好简单些。

然后 win + R,输入 cmd,进入命令行。

剩下的操作和Linux一样,只是文件为 OneDriveUploader.exe

五、MacOS,咱没有,就不说了。

文件下载:https://github.com/MoeClub/OneList/tree/master/OneDriveUploader/amd64

本地下载:OneDriveUploader-20191205

Drop Your Comment