出于某种原因,我在dismhost.exe
文件夹内的很多文件夹中都有temp
的副本;我想要做的是删除它的每个实例,它们位于temp
内的文件夹内。
所以结构如下:
/temp
/folder1
dismhost.exe
/folder2
dismhost.exe
/folder3
dismhost.exe
...
我第一次尝试
rm ./*/dismhost.exe
但后来我记得Windows中没有rm
,所以我尝试使用相同的参数rd
。这引发了一个错误,说*
修饰符无效。
我怎样才能做到这一点?
答案 0 :(得分:2)
这可以使用FOR循环迭代迭代由递归DIR搜索返回的文件列表来完成。如果对输出感到满意,请删除ECHO
以便实际删除文件。
FOR /F "usebackq tokens=*" %f IN (`DIR /S /B /A:-D \temp\dismhost.exe`) DO (ECHO DEL "%~f")
如果将其放入.bat脚本中,请务必将变量上的%字符加倍。
FOR /F "usebackq tokens=*" %%f IN (`DIR /S /B /A:-D \temp\dismhost.exe`) DO (
ECHO DEL "%%~f"
)
答案 1 :(得分:0)
或使用递归删除。:
del /s \temp\dismhost.exe