" FOR"命令特定文件?

时间:2014-03-14 02:25:30

标签: batch-file for-loop cmd

似乎我可以递归地使用FOR命令来搜索通配符,例如

FOR /R %F IN (*.ASM) DO @ECHO %F

这会成功打印出当前目录树中某处存在.ASM扩展名的所有文件

但是,如果我正在搜索特定文件名,则根本不起作用:

FOR /R %F IN (LECTURE3_CODE.ASM) DO @ECHO %F

对于工作目录树中存在的每个文件,后一个命令的输出似乎打印出<path>\LECTURE3_CODE.ASM一次。

有没有办法让这个命令以我想要的方式工作?

2 个答案:

答案 0 :(得分:3)

很简单:

FOR /R %f IN (*.ASM) DO (if "%~nf"=="LECTURE3_CODE" ECHO %f)

完成!

答案 1 :(得分:1)

这适用于您的原始行 - 通配符是此处的关键。

FOR /R %F IN (LECTURE3_CODE.AS?) DO @ECHO %F