似乎我可以递归地使用FOR
命令来搜索通配符,例如
FOR /R %F IN (*.ASM) DO @ECHO %F
这会成功打印出当前目录树中某处存在.ASM扩展名的所有文件
但是,如果我正在搜索特定文件名,则根本不起作用:
FOR /R %F IN (LECTURE3_CODE.ASM) DO @ECHO %F
对于工作目录树中存在的每个文件,后一个命令的输出似乎打印出<path>\LECTURE3_CODE.ASM
一次。
有没有办法让这个命令以我想要的方式工作?
答案 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