You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

qBitTorrent v4.3.0移除.unwanted目录导致批处理脚本失效的解决问询

解决qBittorrent v4.3.0+跳过文件导致下载完成判定失效的方案

方法1:使用qBittorrent Web API(最可靠)

  • 先在qBittorrent设置中开启Web UI:进入「选项->Web UI」,勾选「启用Web UI」,设置端口、用户名和密码。
  • 批处理脚本通过curl调用API直接获取官方的种子完成状态,完全不受临时文件后缀干扰:
    @echo off
    set "QB_URL=http://localhost:8080/api/v2"
    set "QB_USER=你的用户名"
    set "QB_PASS=你的密码"
    set "TORRENT_DIR=目标种子子目录名称"
    
    :: 获取登录Cookie
    curl -s -c qb_cookie.txt -d "username=%QB_USER%&password=%QB_PASS%" "%QB_URL%/auth/login"
    
    :: 检查目标种子是否在已完成列表中
    curl -s -b qb_cookie.txt "%QB_URL%/torrents/info?filter=completed" | findstr /C:"\"name\":\"%TORRENT_DIR%\"" >nul
    if not errorlevel 1 (
        echo 下载完成
        :: 在这里添加你的后续处理逻辑
    ) else (
        echo 未完成
    )
    
    :: 清理临时Cookie文件
    del qb_cookie.txt
    

方法2:修改脚本过滤0字节的.!qB文件

  • 新版qBittorrent中,被跳过的文件对应的.!qB临时文件大小为0字节,正在下载的文件则会有非0的文件体积。
  • 调整原脚本的判定逻辑,只检查是否存在非0字节的.!qB文件:
    @echo off
    set "TARGET_DIR=C:\你的下载目录\种子子目录"
    set "ACTIVE_DOWNLOAD=0"
    
    :: 遍历所有.!qB临时文件
    for %%f in ("%TARGET_DIR%\*.!qB") do (
        :: 检查文件大小是否大于0
        if %%~zf gtr 0 (
            set "ACTIVE_DOWNLOAD=1"
            goto :finish_check
        )
    )
    
    :finish_check
    if %ACTIVE_DOWNLOAD% equ 0 (
        echo 下载完成
        :: 添加后续处理代码
    ) else (
        echo 正在下载中
    )
    

方法3:调整qBittorrent设置禁用跳过文件占位符

  • 打开qBittorrent设置进入「下载->保存管理」,勾选「不创建未选中文件的占位符」。
  • 开启该选项后,被跳过的文件不会生成.!qB临时文件,你的原脚本(检查目录中是否存在.!qB文件)即可恢复正常工作。
  • 注意:该设置仅对新添加的种子生效,已存在的种子需重新勾选跳过项并强制刷新,或重新添加种子。

内容的提问来源于stack exchange,提问作者Bricktop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 09:57:25