DOS用于if语句在多个目录中查找文件

时间:2015-03-30 21:15:28

标签: loops batch-file if-statement for-loop dos

我正在尝试使用以下DOS语句来查找没有important.txt的第一级文件夹。

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

此语句运行,但if部分无法正常运行,即使文件存在,也始终返回该文件。我做错了什么?

2 个答案:

答案 0 :(得分:0)

您正在测试当前目录中文件的存在,因为您没有为文件夹名称添加前缀。试试for /d %X in (M:*) do if not exist %X\important.txt echo %X
看看有什么变化 另请注意:您从M:on上的当前目录扫描目录。这可能是M:\或其他一些目录。

答案 1 :(得分:0)

以下适用于我:

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

请注意批处理文件中%%所需的双FOR