Mark

一款微软OneDrive网盘上传工具 支持文件和文件夹上传
前言 前面写了“宝塔面板环境搭建Oneindex”教程,受到很多人的青睐,那下载有了上传是不是也需要个工具呢?今天...
扫描右侧二维码阅读全文
02
2019/12

一款微软OneDrive网盘上传工具 支持文件和文件夹上传

前言

前面写了“宝塔面板环境搭建Oneindex”教程,受到很多人的青睐,那下载有了上传是不是也需要个工具呢?今天就带给大家一款由 萌咖 大佬使用 Golang 基于新的API写的一个效率很高的 OneDrive 上传工具 OneDriveUploader ,同时也修复了各种Shell版本遗留下来的小问题,该版本特点就是授权简单,无需依赖,单文件。同样的也可以配合Aria2一起自动上传,这里就再分享下,方便下有需求的人。




功能一览

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



使用方法

Windows教程

先下载程序文件


比如我将exe文件放到D盘,然后使用Win+R,输入CMD运行,调出窗口后,使用命令:
#进入D盘
cd /d D:\
#初始化,quchaonet为授权code,获取方法看上面
OneDriveUploader.exe -a "quchaonet"
上传命令
#将当前目录下的Mark.jpg文件上传到OneDrive网盘根目录
OneDriveUploader.exe -s "Mark.jpg"

#将当前目录下的Mark1.jpg文件上传到OneDrive网盘根目录,并改名为Mark2.jpg
OneDriveUploader.exe -s "Mark1.jpg" -n "Mark2.jpg"

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

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

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

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


Linux教程


注:目前只支持64位系统,32位没有什么用户,所以后面不打算支持了。

1、授权认证

点击右侧URL登录并授权,授权地址→传送门
授权后会获取一个localhost开头打不开的链接,这里只需要记住code,也就是链接中code=&中间的参数。

2、安装OneDriveUploader

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

3、初始化配置

#将quchaonet替换成你上面获取的code参数
code="quchaonet"
OneDriveUploader -a "${code}"
如果提示Init config file: /path/to/file/auth.json类似信息,则初始化成功。

4、使用命令

Usage of OneDriveUploader:
  -a string
        // 初始化授权
        Setup and Init auth.json.
  -b string
        // 自定义上传分块大小, 可以提高网络吞吐量, 受限于磁盘性能和网络速度.
        Set block size. [Unit: M; 5<=b<=60;] (default "10")
  -c string
        // 配置文件路径
        Config file. (default "auth.json")
  -n string
        // 上传单个文件时,在网盘中重命名
        Rename file on upload to remote.
  -r string
        // 上传到网盘中的某个目录, 默认: 根目录
        Upload to reomte path.
  -s string
        // 要上传的文件或文件夹
        Upload item.
  -t string
        // 线程数, 同时上传文件的个数. 默认: 2
        Set thread num. (default "2")

5、命令示例

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

#将当前目录下的Mark1.jpg文件上传到OneDrive网盘根目录,并改名为Mark2.jpg
OneDriveUploader -s "Mark1.jpg" -n "Mark2.jpg"

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

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

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

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


Mac教程

先下载程序文件

按照上面 Linux 方法进行授权、初始化,然后就可以使用命令上传了。

小结

  • 多次尝试后, 无失败的上传文件. 退出码为 0.
  • 最终还有失败的上传文件会详细列出上传失败项. 退出码为 1.
Last modification:December 2nd, 2019 at 03:15 am
如本文“对您有用”,欢迎随意打赏我,让我坚持创作!

Leave a Comment

6 评论

  1. 心灵博客   Mac OS X 10.14.5 Mac OS X 10.14.5 Google Chrome 75.0.3770.80 Google Chrome 75.0.3770.80

    这是好东西。|´・ω・)ノ


    1. Mark 博主   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 78.0.3904.108 Google Chrome 78.0.3904.108
      @心灵博客

      主要配合OneIndex用,美滋滋


  2. 王耍耍 贵宾   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 78.0.3904.108 Google Chrome 78.0.3904.108

    滴!访客卡!打卡时间:上午10:33:52,请上车的旅客系好安全带~


  3. 混迹博客 贵宾   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 78.0.3904.108 Google Chrome 78.0.3904.108

    感谢分享
    滴!访客卡!打卡时间:上午8:50:30,请上车的旅客系好安全带~


  4. Wl   Windows 8 x64 Edition Windows 8 x64 Edition Google Chrome 69.0.3497.128 Google Chrome 69.0.3497.128

    好详细的教程,在Linux 测试成功


    1. Mark 博主   Windows 10 x64 Edition Windows 10 x64 Edition Google Chrome 78.0.3904.108 Google Chrome 78.0.3904.108
      @Wl

      没事多来学习学习