0
我将findstr
结果重定向到文本文件。接下来,我将删除名称写入文本文件的文件,但我遇到问题。为什么在FOR循环中处理具有列表文件名称空间的列表文件失败?
如果findstr
结果文件在文件名中有空格,则结果文件中的文件都不会在FOR
循环中被删除。但是,如果由findstr
创建的列表文件的名称中没有空格,则FOR
循环将按预期工作,并删除文本文件中列出的所有文件。
此代码正在删除包含“木马”作为字符串的文件。
findstr /s /m "Trojan" "C:\*.*">>"C:\result.txt" 2>nul
for /f "delims=" %%i in (C:\result.txt) do del "%%i"
但是,此代码并未删除结果文本文件中列出的文件。
findstr /s /m "Trojan" "C:\*.*">>"C:\result 2.txt" 2>nul
for /f "delims=" %%i in (C:\result 2.txt) do del "%%i"
结果文本文件的名称中有一个空格。
我的第二个代码的结果文本文件在文件名中有空格时出了什么问题?
1,因为我似乎从来没有真正详细阅读usebackq /脸红。我知道它处理了这个命令并且使用了它,但不是需要引用的文件名。感谢这一点,并使用一个没有使用命令的例子。 – Torqane 2014-09-14 03:18:59