DOS For if 语句在多个目录中查找文件
DOS For if statement to look for file in multiple directories
我正在尝试使用以下 DOS 语句来查找没有 important.txt 的一级文件夹。
for /d %X in (M:\*) do if not exist important.txt echo %X
这条语句运行s,但是if部分没有运行正确,总是返回文件丢失,即使它存在。我做错了什么?
您正在测试文件在当前目录中是否存在,只是因为您没有在文件夹名称前加上前缀。尝试 for /d %X in (M:*) do if not exist %X\important.txt echo %X
看看有什么变化。
另外注意:你扫描的目录是从当前目录放在 M: 上的。这可能是 M:\ 或其他一些目录。
以下对我有效:
for /d %%X in (c:\tmp\*) do if not exist %%X\important.txt echo %%X
请注意批处理文件中 FOR
所必需的双 %%
。
我正在尝试使用以下 DOS 语句来查找没有 important.txt 的一级文件夹。
for /d %X in (M:\*) do if not exist important.txt echo %X
这条语句运行s,但是if部分没有运行正确,总是返回文件丢失,即使它存在。我做错了什么?
您正在测试文件在当前目录中是否存在,只是因为您没有在文件夹名称前加上前缀。尝试 for /d %X in (M:*) do if not exist %X\important.txt echo %X
看看有什么变化。
另外注意:你扫描的目录是从当前目录放在 M: 上的。这可能是 M:\ 或其他一些目录。
以下对我有效:
for /d %%X in (c:\tmp\*) do if not exist %%X\important.txt echo %%X
请注意批处理文件中 FOR
所必需的双 %%
。