繁体   English   中英

删除包含在不同子文件夹中的同名文件

[英]Delete file with same name contained in different sub-folders

由于某些原因,我在temp文件夹内的许多文件夹中dismhost.exe的副本; 我想要做的是删除它的每个实例,这些实例都在temp文件夹内。

所以结构如下:

/temp
 /folder1
  dismhost.exe
 /folder2
  dismhost.exe
 /folder3
  dismhost.exe
 ...

我第一次尝试

rm ./*/dismhost.exe

但是后来我想起在Windows中没有rm ,所以我尝试使用具有相同参数的rd 这引发了一个错误,说*修饰符无效。

我该如何实现?

这可以通过使用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"
)

或使用递归删除:

del /s \temp\dismhost.exe

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM