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

批处理脚本删除Enigma2接收器网络共享中对应本地同名关联文件

问题背景

使用Enigma2接收器录制影视节目时,每个录制文件会生成多个关联文件,例如:

  • filename.ts(主视频文件)
  • filename.eit
  • filename.ts.ap
  • filename.ts.cuts
  • filename.ts.meta
  • filename.ts.sc

将.ts文件复制到本地D盘并完成广告删除后,需要删除接收器网络共享Y盘中,与本地已有的同名.ts文件对应的所有关联文件。但网上找到的批处理脚本因文件名含特殊字符(如空格、感叹号、德语变音字符,示例文件名:20250903 1718 - Pro7 MAXX - Dragon Ball Super - S04E73 - Gohans Unglück! Der große Saiyaman wird verfilmt!.ts)无法正常运行,寻求解决方法。

原失效脚本:

D:
FOR %%a in (*.*) DO (
    IF EXIST Y:\%%~na* DEL Y:\%%~na*
)

解决方法

原脚本未处理特殊字符解析问题,且遍历范围过广,以下是修正后的脚本:

@echo off
setlocal DISABLEDELAYEDEXPANSION
REM 切换到本地D盘的目标目录
D:
REM 仅遍历D盘中的.ts文件,避免误处理其他文件
FOR %%a in ("*.ts") DO (
    REM 用双引号包裹路径,确保特殊字符文件名被完整识别
    IF EXIST "Y:\%%~na*" (
        REM 静默强制删除所有关联文件,/Q无需确认 /F强制删除只读文件
        DEL /Q /F "Y:\%%~na*"
    )
)
endlocal

核心修正说明

  • setlocal DISABLEDELAYEDEXPANSION:关闭延迟扩展,避免文件名中的感叹号被批处理错误解析(延迟扩展会将!视为变量边界)。
  • "*.ts":限定仅遍历.ts文件,防止误删其他无关文件的关联项。
  • 双引号包裹路径:"Y:\%%~na*"确保含空格、特殊字符的文件名被当作完整路径,不会被拆分为多个参数。
  • DEL /Q /F:优化删除逻辑,适配Enigma2录制文件可能存在的只读属性,同时无需手动确认。

测试建议

执行前可将DEL /Q /F替换为ECHO DEL /Q /F,先预览要删除的文件列表,确认无误后再恢复真实删除命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 09:32:38