利用BaiduPCS-Go批量秒传与备份

本文介绍了一种利用百度云盘的秒传功能快速复制云端已有文件的方法,通过提取BaiduYunCacheFileV0.db文件中的信息,结合BaiduPCS-Go工具,实现了批量秒传,有效提高了文件管理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


项目地址引用:

github.com/iikira/Baid…

基本思想:根据手动秒传的方法,只要知道file_size和文件md5值,再根据自己意愿添加一个文件名,就可以根据云端已有数据在自己云盘中"拷贝"一份副本。

项目背景和思想

作者到目前有几十个云盘账号,文件管理起来比较麻烦,连账号切换都得靠Cookie Profile Switcher插件实现。再说,一个松鼠党必须时时保持警惕,应对账号被封资源丢失的痛苦。

秒传的原理是:通过检测文件大小和md5值,或者再加上其他如文件前256KB切片的md5值的信息,若云端有相同的文件,则直接进行云端拷贝。

BaiduPCS-Go的作者在新版本中实现如下功能:只需要知道file_size和md5,就可以实现在本地硬盘没有该文件下,但是云端别人已经上传过该文件时,进行虚拟秒传。

BaiduPCS-Go及其秒传功能的用法就不赘述了,均在github上。

举例:

BaiduPCS-Go ru -length=<文件的大小> -md5=<文件的md5值> <网盘路径/文件名>
复制代码

基于此思想,根据BaiduYunCacheFileV0.db文件含有文件目录,文件名,大小,md5等信息的原理,我们可以利用SQLite工具提取信息,配合Excel和其公式,制作一个如下类型的批处理文件:

BaiduPCS-Go ru -length=<size_1> -md5=<md5_1> <文件1>
BaiduPCS-Go ru -length=<size_2> -md5=<md5_2> <文件2>
BaiduPCS-Go ru -length=<size_3> -md5=<md5_3> <文件3>
...
pause
复制代码

项目着手

下载与登陆

首先,下载BaiduPCS-Go.exe,并放到合适的目录中。 输入login回车,按提示输入账号、密码、和验证登陆。

配置环境变量

提取BaiduYunCacheFileV0.db中信息

接下来有一个工具,为了展示实用性,我直接通过下面途径来”分享“出来。 在命令提示符中输入下面命令,即可保存一份SQLiteSpy.exe在你们云盘中,前提是你已经在BaiduPCS-Go中登陆过了。

BaiduPCS-Go ru -length=3746304 -md5=D3C44CE0F2EA0886091DFBDD3BB6CB45 /SQLiteSpy/SQLiteSpy.exe
复制代码

然后下载

BaiduPCS-Go d SQLiteSpy
复制代码

相同方法下载第二个更强大的工具

BaiduPCS-Go ru -length=101809138 -md5=09FC738A805C8EA4C27A86C553C1A048 /navicat/navicatpremiumpjb3264lsb.zip
BaiduPCS-Go d navicat
复制代码

使用SQLiteSpy.exe配合everything找到并打开BaiduYunCacheFileV0.db,点击cache打开,随意点击某一格,ctrl+a然后ctrl+c,全选复制,新建文本文档,粘贴保存。

Excel中合成命令行指令并运行

打开excel,数据-导入文本文档,自动生成带有格式的表格。 可见A到J列为如下数据:

ABCDEFGHIJ
idfidparent_pathserver_filenamefile_sizemd5isdircategoryserver_mtimelocal_mtime

在一个空列中编辑公式:

="BaiduPCS-Go ru -length="&E1&" -md5="&F1&" """&C1&D1&""""
复制代码

ctrl+d填充所有,复制需要的命令行到文本文档中保存为bat文件或者cmd文件。此处命名为"name.bat" 然后双击运行即可实现批量秒传文件。

问题解决

针对Unicode字符的解决方法

有时文件名有类似”†“的Unicode字符,即使保存为Unicode或者utf-8文档,在cmd中运行也是乱码,这时候就需要转码。

先将name.bat保存为utf-8编码的文档。

预先在cmd中输入chcp 65001可以无乱码运行utf-8文件。所以在name.bat同目录下建立另一个bat文件,输入:

chcp 65001
name.bat
pause
复制代码

保存该bat为ANSI编码,双击运行即可调用name.bat。 如果需要保存输出到文本文档查看哪些秒传失败,代码如下:

chcp 65001
name.bat >>log.txt
pause
复制代码

运行结束即可在log.txt中查看记录。

针对过大的数据库

如果BaiduYunCacheFileV0.db超过10MB,往往在SQLiteSpy中复制的文本不能完全粘贴在文本文档中,这时需要Navicat Premium 12

如图打开BaiduYunCacheFileV0.db,导出文本文件或者excel文件,字符具体处理公式可能根据导出内容有差别,但是处理思路一样。

项目测试

本人亲测秒传黄油资源,结果如下:

对自己一个账号内的say花火和忧郁的弟弟一共2TB的黄油进行信息提取,命令行秒传测试,成功秒传了1.3TB。嗯,算不错的说。因为度娘可能对某些虽然别人已经上传但是资源太新的文件没有计入秒传名单内。

不失为一种备份自己已有资源的好办法。

转载于:https://juejin.im/post/5b759ea351882532ff2b8ea6

<think>我们正在查找关于BaiduPCS-Go项目的使用指南、源码和下载信息。根据提供的引用内容,我们可以整理出以下信息:1.**项目介绍**:BaiduPCS-Go是一个基于Go语言开发的百度网盘命令行客户端,支持文件上、下载、分享链接转存等功能,并且具有多平台兼容性(引用[1][2][3])。2.**源码地址**:-引用[1]和[2]提供了两个不同的项目地址:-https://gitcode.com/gh_mirrors/bai/BaiduPCS-Go-https://gitcode.com/gh_mirrors/ba/BaiduPCS-Go但这两个地址可能都是镜像。原始项目地址应为iikira/BaiduPCS-Go(引用[1][2])。同时,引用[4]提到官方仓库地址为:https://github.com/qjfoidnh/BaiduPCS-Go。这里需要注意,原始项目作者可能是iikira,而qjfoidnh可能是另一个分支或fork。经过确认,原始项目(iikira/BaiduPCS-Go)已不再维护,而qjfoidnh/BaiduPCS-Go是一个活跃的分支。因此,建议使用qjfoidnh/BaiduPCS-Go。3.**下载安装**:-引用[4]提供了下载方式:访问https://github.com/qjfoidnh/BaiduPCS-Go/releases下载对应平台的可执行文件。-Linux系统下载示例:选择`BaiduPCS-Go-v3.8.1-linux-amd64.zip`,解压后得到可执行文件`BaiduPCS-Go`,然后赋予执行权限:`chmoda+xBaiduPCS-Go`。4.**使用指南**:-**登录**:使用`login`命令,支持多种方式(引用[3])。推荐使用Cookie登录(引用[4]):-在浏览器登录百度网盘,打开开发者工具(F12),找到网络请求中的Cookie(在请求头中),复制整个Cookie字符串。-执行命令:`./BaiduPCS-Gologin-cookies="复制的Cookie内容"`-**常用命令**(引用[3][4]):-交互模式:直接运行`./BaiduPCS-Go`进入。-下载:`download<网盘路径>`-:`upload<本地路径><网盘路径>`-转存分享链接:`transfer<分享链接>`-搜索:`search<关键词>`-切换目录:`cd<目录>`-列出文件:`ls`5.**高级特性**(引用[3]):-断点续-通配符支持-离线下载-文件根据以上信息,我们可以组织回答如下:</think>### BaiduPCS-Go 项目指南 #### 1. 项目简介 BaiduPCS-Go 是基于 Go 语言开发的**百度网盘命令行客户端**,支持文件上下载、分享链接转存、识别等核心功能。相比官方客户端,具有轻量化、跨平台(Windows/Linux/macOS)和脚本化操作优势[^1][^2][^3]。 #### 2. 源码获取 - **主仓库**(活跃分支): https://github.com/qjfoidnh/BaiduPCS-Go (原始项目 iikira/BaiduPCS-Go 的增强版,集成/分享功能) - **镜像仓库**: https://gitcode.com/gh_mirrors/ba/BaiduPCS-Go #### 3. 安装下载 **Linux 安装示例**: ```bash # 下载最新版 (v3.8.1) wget https://github.com/qjfoidnh/BaiduPCS-Go/releases/download/v3.8.1/BaiduPCS-Go-v3.8.1-linux-amd64.zip # 解压并授权 unzip BaiduPCS-Go-*.zip chmod a+x BaiduPCS-Go ``` **其他平台**: 在 [Release 页面](https://github.com/qjfoidnh/BaiduPCS-Go/releases) 选择对应系统版本(Windows/macOS/ARM)。 #### 4. 核心使用指南 | 功能 | 命令示例 | 参数说明 | |--------------|----------------------------------|----------------------------| | **登录** | `./BaiduPCS-Go login -cookies="..."` | 从浏览器复制 Cookie 登录[^4] | | **下载文件** | `download /电影/星际穿越.mp4` | `-ow` 覆盖已存在文件 | | **上文件** | `upload ~/data.zip /备份/` | 支持多文件/目录 | | **转存分享** | `transfer "https://pan.baidu.com/s/..."` | 自动解析分享链接 | | **文件** | `rapidupload 文件名 MD5 文件大小` | 识别技术[^3] | | **交互模式** | `./BaiduPCS-Go` | 直接进入命令行交互 | #### 5. 高级特性 - **断点续**:下载中断自动恢复 - **通配符操作**:`ls /工作文档/*.pdf` - **多账户切换**:`su <uid>` 切换登录账号 - **离线下载**:通过 URL 添加下载任务 - **配置文件**:`config set -max_parallel 10` 调整线程数[^3] > 提示:运行 `./BaiduPCS-Go help` 查看完整命令文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值