我正在尝试删除文件夹中除文件名包含字符串ntdll
之外的所有文件。
这是我尝试过的:
for %i in (dlls/*) do if not %%i == %%i:ntdll del %%i
for %i in (*) do if not %i == %i:ntdll del %i
我尝试过findstr
,但收效甚微。
答案 0 :(得分:0)
您的语法错误。这是一个可能的解决方案(您需要延迟扩展):
for %A IN (*) do @set file=%A && if !file!==!file:ntdll=! (@del /F /A !file!)
使用cmd /v:on
在cmd中启用延迟扩展。您被迫在代码块中使用它。
此简单命令搜索当前工作目录中的所有文件,为每个文件分配一个变量,并检查它们中是否包含字符串ntdll
。如果没有,他们将其删除。
为更好地理解上述命令,请打开一个新的cmd并键入:
for /?
set /?
del /?
一些有趣的参考,供进一步阅读