TA的每日心情 | 擦汗 2024-8-16 22:36 |
---|
签到天数: 256 天 [LV.8]以坛为家I
荣誉会员
- 积分
- 115181
|
本帖最后由 白喵 于 2023-10-11 02:26 编辑
-- 2023.02.25 更新
脚本里的REM注释有影响到命令执行,去掉注释重新上传了
--
作用:
种子任务下载完后希望把种子文件自动复制(+重命名)到下载地址,和目标文件(夹)放在一起。
这样日后校验管理都比较方便。
不知道其他人有没有这样的需求,于是好几年前自己写了个脚本,今天看到论坛内其他人的分享也来凑个热闹~~
适用:
操作系统:windows
软件: qBitTorrent, uTorrent ..
用法:
1. 解压附件,会有个 bat 脚本
2. 以qBitTorrent为例(uTorrent也可以类似配置),在选项->下载 配置中, 如图勾选并配置脚本路径和入参为:
- [脚本路径] "%I" "%D" "%N" "%L" R
复制代码 - 以我本地为例,我的脚本放在"D:\Program_Data\qBittorrent"这个路径下,我这里填的是这样:
- D:\Program_Data\qBittorrent\copy_torrentseed.bat "%I" "%D" "%N" "%L" R
复制代码 - 最后面的 "R" 表示按任务名重命名种子文件, 去掉则表示直接以 hash 命名
3. 创建下载任务时,选择 分类 或 其父类 名称带有 "BDrip" 字段的分类
- 本人只有 BDrip 需要顺便归档种子文件,其他没有这样的需求,因此设了这个条件,希望所有任务都执行拷贝操作的可以在文件中找到这样的代码:
- [url=home.php?mod=space&uid=30842]@Rem[/url] 这里触发拷贝的条件是 任务分类为"BDrip" 时触发, 也可把触发条件删掉, 或按自己需求修改
- echo %Category% | findstr "BDrip" >nul
- if {%errorlevel%}=={0} goto BEGIN
- @REM OTHERS 只打印日志, 不进行拷贝
- goto OTHERS
复制代码
改为:
不能上传bat文件,打了个包
--
题外话
1. 原理就是利用下载软件完成任务后可自动执行外部文件的能力
2. qbt 或 ut 在使用种子或磁力链创建下载任务时,默认会在该目录: %LocalAppData%\qBittorrent\BT_backup\ 下以哈希值为名备份种子文件,因此可以做到任务完成后对齐进行归档,%LocalAppData% 即为环境变量中当前用户目录下的AppData路径。
| 关于第2点,特别感谢 @SpringBoot 在 本站这篇帖子 的指导
- 各位按自己需要进行修改, 比如修改自己期望生效的分类名,或去掉分类名限制,或改为按标签匹配
- @echo off
- set script_path=%~dp0
- set HashValue=%~1
- set MissionPath="%~2"
- set MissionName="%~3"
- set TorrentFile=%HashValue%.torrent
- set TorrentFilePath=%LocalAppData%\qBittorrent\BT_backup\
- set Category=%4%
- @REM 拷贝torrent文件时是否需要重命名 "R" 表示需要
- set Rename=%5%
- @REM 这里触发拷贝的条件是 任务分类为"BDrip" 时触发, 也可把触发条件删掉, 或按自己需求修改
- echo %Category% | findstr "BDrip" >nul
- if {%errorlevel%}=={0} goto BEGIN
- @REM OTHERS 只打印日志, 不进行拷贝
- goto OTHERS
- :BEGIN
- if {%Rename%}=={R} goto RENAME
- @REM 直接拷贝
- set COMMOND=copy "%TorrentFilePath%%TorrentFile%" %MissionPath%
- goto START
- @REM 拷贝+重命名
- :RENAME
- set COMMOND=copy "%TorrentFilePath%%TorrentFile%" "%MissionPath:~1,-1%\%MissionName:~1,-1%.torrent"
- @REM 无需打印日志的话, 把 >>"%script_path%/copy_torrentseed.log" 的部分删除即可
- :START
- (
- echo ---- %date% %time% ----
- echo script_path: %script_path%, HashValue: %HashValue%, MissionPath: %MissionPath%, MissionName: %MissionName%
- echo COMMOND: %COMMOND%
- %COMMOND%
- echo.
- )>>"%script_path%/copy_torrentseed.log"
- goto END
- :OTHERS
- (
- echo ---- %date% %time% ----
- echo script_path: %script_path%, HashValue: %HashValue%, MissionPath: %MissionPath%, MissionName: %MissionName%
- )>>"%script_path%/copy_torrentseed.log"
- :END
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|