2015-03-30 51 views
0

我正在嘗試使用以下DOS語句來查找沒有important.txt的第一級文件夾。DOS如果語句在多個目錄中查找文件

for /d %X in (M:\*) do if not exist important.txt echo %X 

此語句運行,但if部分運行不正常,總是返回文件丟失,即使它存在。我究竟做錯了什麼?

+0

只是'如果不存在m:\ important.txt(echo yes)'不需要循環 – powershell 2015-03-30 21:29:25

+0

您真的在使用MS-DOS還是在討論Windows中的命令行? – 2015-03-30 21:31:31

回答

0

您正在測試文件在當前目錄中的存在,只是因爲您沒有在文件夾名稱的前面。試試for /d %X in (M:*) do if not exist %X\important.txt echo %X
看看有什麼變化。
另一個注意事項:您從M:on上的當前目錄中掃描目錄。這可能是M:\或其他目錄。

+0

@Stephan:感謝您的錯字。 – user1016274 2015-03-31 07:33:08

0

對我來說,以下工作:

for /d %%X in (c:\tmp\*) do if not exist %%X\important.txt echo %%X 

需要注意的雙重%%在批處理文件FOR