尊敬的批处理脚本专家,
我有以下文件(太多了):
F:\ABC\NAME1\2018\Q2\07 JUL\RANDOM NUMBER1\MSG.DAT
F:\ABC\NAME2\2018\Q3\07 JUL\RANDOM NUMBER2\MSG.DAT
F:\ABC\NAMEA\2018\Q3\08 AUG\RANDOM NUMBER3\MSG.DAT
F:\ABC\NAMEB\2018\Q3\09 SEP\RANDOM NUMBER4\MSG.DAT
F:\ABC\NAME3\2018\Q4\09 SEP\RANDOM NUMBER5\MSG.DAT
我正在尝试从批处理文件执行一个程序(program1.exe)并提供文件路径(所需的完整路径)作为命令行参数。
"C:\Program Files (x86)\Program1.exe" "the required full path"
例如,我正在努力寻找子文件夹 Q3 下的 MSG.DAT 文件的 URL。
非常感谢您的帮助。
答案1
在批量处理中,你必须将任务分成两部分,
- 第一次找到文件夹 q3
for /r /d
(需要伪通配符) - 第二次迭代它们并递归搜索 FILE MSG.DAT
@Echo off
For /r "F:\" /D %%A in (Q3?) Do For /F "delims=" %%B in (
'Dir /B /S "%%A\MSG.DAT" 2^>NUL '
) Do Echo "C:\Program Files (x86)\Program1.exe" "%%~fB"
pause
如果输出看起来正常,请删除倒数第二行的回声。