AI summary
type
status
date
slug
summary
tags
category
icon
password
🤔 我的需求
目前基本上已经没有存活的第三方百度云工具了,因此下载端只能用臃肿的官方客户端。而上传方面,对于我来说则起码要满足以下几点:
- 迁移的数据量比较大,为了节省空间转存完毕后能删除下载的文件
- 能够长期稳定挂机转存的工具
- 一整个文件夹的能保持子目录结构
- 不用人工干预,在百度云客户端点击下载所有文件后可以撒手不管
- 下载或上传成功后给我推送通知
目前网上好像还没有好用的转存工具,于是我花了一天的时间写了一个Windows下的脚本,利用一个我白嫖的暂时闲置的挂机宝。实现 Windows百度云官方客户端 + Rclone + 目录监控工具 + VBS脚本 细水长流迁移数据到OneDrive上。
🤗 具体步骤
安装百度云
略,自行安装即可。
安装 Rclone
Rclone 是一个支持在不同网盘、对象储存空间上传、下载及同步数据的命令行工具
Rclone下载地址:https://rclone.org/downloads/
下载Windows版本,完成后解压到任意目录即安装完成,比如我直接放在了挂机宝的
D:\rclone\
创建 OneDrive API(可选)
在进行连接之前,我建议先申请自定义的 API,避免使用 Rclone 的公共 API,否则容易出现上传失败/上传速度慢的问题
- 进入 MicroSoft Azure 应用注册页面,点击 新注册 按钮
- 输入名称,账户类型如图选择,其中重定向URL要修改为
http://localhost:53682
- 创建完毕后会出现 Client ID,请妥善保存它
- 点击侧边栏 管理-证书和密码,点击生成新客户端密码,截止期限按需选择(建议永久)
- 添加完毕后会出现Client Secret,请像对待密码一样记录下来,放在安全的地方
- 最后,到 API权限 页中设置权限,如图所示添加
Files.Read
,Files.ReadWrite
,Files.Read.All
,Files.ReadWrite.All
,offline_access
,User.Read
权限
- 添加权限完毕后,最后看上去应该是这个样子的
配置 Rclone 连接 OneDrive
在安装目录下执行
rclone config
开始配置由于我是在挂机宝上配置的,挂机宝没有公网IP且没有公开端口可以访问, 因此我是使用 Anydesk 的端口映射功能来映射挂机宝的 53682 端口到本地,来进行接下来的绑定账号功能。
(强烈推荐 Anydesk,我愿称之为最方便好用的的远程桌面工具)
当你复制上述链接并成功登录后,离成功就已经不远了
若无意外的话,此时 Rclone 就已经连接到你的 OneDrive 上了,再次执行
rclone config
可以看到挂载好的网盘获取自动化脚本
Talk is cheap, just show you the code.
以下脚本在 Windows 10 (1809) X64 测试通过
修改可配置项后,将VBS脚本保存到本地
脚本完整文件可 通过 Github Gist 获得
配置 Folder Monitor 文件夹监控
Folder Monitor 是一个麻雀虽小五脏俱全的文件夹变动监控工具,内存占用小,在本次需求不大的环境下基本够用了
Folder Monitor 下载地址:https://www.nodesoft.com/foldermonitor
下载并解压后启动软件,右键点击系统托盘图标,点击 Open 进入配置界面
右键点击空白处,选择 Add folder,选择百度云客户端的默认下载目录
右键点击刚新增的目录选项,确保 Recursive 选项是勾选的,点击 Option 进行详细配置
首先在 Events 选项卡,只保留 Renamed 的勾,其他取消掉。因为百度云客户端在下载文件时会先创建后缀为 baiduyun.downloading 的临时文件,在下载结束后会重命名成正常的文件名。因此,我们要监控的是重命名这个行为,以便上传下载完成后的文件。
在 Execute command 选项卡,配置路径和参数
最后,到 Filter 选项卡,添加排除过滤器
downloading.cfg
,避免百度云下载任务产生的配置文件被错误上传保存后,自动转存的一连串工具就全部配置完毕了!
现在,你可以到百度云客户端添加你想要转存的文件到下载列表,下载完毕后就会自动使用 Rclone 上传到 OneDrive 中了。
效果展示
目前这套程序已经在我的挂机宝上稳定运行了超过一天半了,转存了 9.15G 的文件
按百度云下载最高 120KB/s 的速度,一天24小时最多能搬迁不到 10G 的文件
对于我这种不会为百度充一分钱的用户,也就这样吧,不能再要求更高了。
200G 的文件,可以细水长流在20天内迁移完毕,不急用的话,我是可以接受的。
Telegram 推送通知的效果如图所示,还算比较整洁,当然也有不少改进的地方~~~我肝不动了先放着吧~~
拓展用法
这个思路其实就是监控本地文件的变化,并且执行命令上传,当你拥有了这个思路之后,就可以举一反三了
例如:可以挂载不同的网盘,监控不同的下载文件夹,打造成私人的离线下载工具……
更多的玩法,等待你的发掘
附录:百度云的替代方案
储存空间
目前我的主力方案是 Microsoft 365 家庭版 订阅
Microsoft 365 (原 Office 365)的家庭版对于普通用户来说够用了,组一个五人车的话每个成员都可以获得
- 正版的 Office 应用,可以同时在Windows,Mac和移动设备使用
- 每人 1T 的储存空间(不限速)
- 每月 Skype 60 分钟通话时间(虽然看上去不是很实用,拿来打个电话还是OK的)
与他人合租的话价格在一年 40-60 RMB 之间,是比较不错的价格
其次是 Google Drive 团队盘 ,网上有很多取得团队盘的门路,然而我不建议将重要资料存放到团队盘中,因为盘中的资料会被管理员查看到,而且随时会有翻车的风险。所以我的团队盘基本都是用来作为 公开资源的转存站 的
(关于怎么方便快捷地将他人的资源快速转存到Google Drive,以后我会专门做一期教程给大家讲解)
资源获得
在资源存量上,其余的网盘产品在短时间内在数量上还难以替代百度网盘,然而这并不意味着你没有更优质的资源获取渠道
我目前正在使用的有 「Google Drive 资源:人人发资源」,用来转存公开资源到 Google Drive,其次就是使用这个脚本挂机下载资源进行转存了。
对外分享
假若你拥有一个 OneDrive 盘,要做到对外分享是十分简单的
如果你没有自己的服务器,可以使用 Cloudflare Worker ,配合 OneDrive-Index-Cloudflare-Worker 或者 FODI 等工具,快速搭建一个外链分享网站
如果你不想大费周章,只想分享几个文件的话,也可以使用 OneDrive 直链助手 直接在网页中分享