2014-03-14 40 views
3

好像我可以使用FOR命令遞歸搜索通配符如對於特定文件的「FOR」命令?

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

這成功地打印出與.ASM擴展存在於當前目錄樹中的某個位置的所有文件

然而如果我在尋找一個特定的文件名,這並不在所有的工作:

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

後者命令的輸出似乎打印出<path>\LECTURE3_CODE.ASM一次爲工作目錄樹中存在的每個單個文件。

有沒有辦法讓這個命令按我想要的方式工作?

回答

3

很簡單:

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

完成!

+2

如果在任何一個句子中接受匹配,'if'命令後面的'/ i'開關將會更加可靠。 – foxidrive

1

這將適用於您的原始線 - 通配符是關鍵在這裏。

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