完善了资料下载自动化流程

请注意,本文编写于 1368 天前,最后修改于 1366 天前,其中某些信息可能已经过气。

本来打算周日做视频的,结果打了半天GTA。一点输出都没有肯定是不行的,于是顺便把之前的自动化下载留的坑填上了。
之前的流程是 找资源->QBitTorrent WebUI->远程下载->远程控制下载计算机分包加密压缩->OneDrive Business上传->这边的Synology CloudSync自动下载->资源到手
可以看到,之前非常蛋疼的还是需要人工介入,操作压缩这一步。当时也尝试过用其他自动化工具去处理,结果不是特别理想。要把WinRAR和QBitTorrent两个软件结合起来,作为衔接的软件首先要知道文件下载完成了,否则会拿到不完整的文件,然后调用WinRAR又是另一码事。
当时吧,说实在的就是懒。QBitTorrent很早就有自定义脚本这个东西,可以一步到位。然后上网查了一圈,类似的东西有,完全能抄的没有。当初试了几下没成功就没再弄了。
巧的是在把B站脚本迁移到NAS上的时候学了不少BAT的写法,回头看RAR的这个批处理命令就清楚明了。
说干就干,安排明白了。直接上代码。

"C:\Users\Fkun\Desktop\autorar.bat" "%Z" "%F"

在QB里写这条脚本,附带两个值,Z是文件的大小单位字节,我就把它当作文件的id,F是文件路径。

@ECHO off
timeout /t 10 /nobreak
set arg1=%1
set arg2=%2
shift
shift
"C:\Program Files\WinRAR\Rar.exe" a -ep1 -ed -o+ -cfg- -idcdp -m5 -md4m -r -s -v1G -hpcode "D:\OneDrive\Cloud_Sync\%arg1%.rar" %arg2%

这些是写在autorar里的,前几行不太用细说,延迟十秒防止文件占用读取失败,把上面的命令里两个变量引入。
核心代码就是最后一句,先找到Rar.exe这个文件,a是压缩的意思,其他的指令比如e是解压到当前文件夹,x是解压到绝对路径……根据需要自己选择。
之后的所有都是参数,-v1G这里是在切分文件,把大文件分成1G的小包,方便传输。他和前面的-cfg- -idcdp -m5 -md4m -r -s要搭配起来用,具体其他是什么含义可以去参考官方文档。
-ep1 从名称中排除基本目录,要不然压出来的文件就是个洋葱,十几层文件夹。
-ed 是排除空文件夹。
-o+ 的意思是如果有同名文件则覆盖。
-hpcode 这个是密码,但是它的写法略憨,其实指令时-hp,紧接在后面的code就是设置的密码。然后单纯写-p是不会加密文件夹结构的,也就是人家可以看到文件名只是打不开,所以一般用-hp直接连着目录一起加密了。
再往下的两个就是压缩目标文件夹和待压缩文件。前面写的两个变量这里也引入了,有人问我为什么不直接用原来的文件名去明明压缩文件,还不是不想让你知道里头有啥(手动斜眼)。

评论区

评论列表