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

求可处理子目录文件的批处理程序,for /R命令使用遇阻

批处理递归处理子目录MKV文件的修复方案

你的代码没递归子目录的原因很简单——用了普通for循环,只会扫描当前目录的.mkv文件,换成for /R就能遍历所有子目录了。

修正后的完整代码

@echo off
setlocal EnableDelayedExpansion

:: 递归遍历所有子目录下的MKV文件
for /R %%A in ("*.mkv") do (
    echo file found  %%A

    :: 保留你原有的文件名处理逻辑
    for /f "tokens=1,2 delims=[im" %%D in ("%%~nA") do set "shortname=%%D[%%E"
    echo short name !shortname! >>J:\list.txt
)

endlocal

关键细节

  • for /R:默认从当前脚本所在目录开始递归,要是想指定起始根目录,改成for /R "D:\目标根目录" %%A in ("*.mkv") do ...就行
  • 文件名处理:你的delims=[im是把[、i、m都当成分隔符,tokens=1,2提取前两段。如果你的文件名格式有变动,得调整这两个参数
  • 权限提醒:确保脚本有写入J:\list.txt的权限,不然会出现写入失败的情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 18:42:13