如何在Windows中使用批处理文件删除包含某些字符串的文件?

时间:2011-12-15 00:07:45

标签: batch-file delete-file

我的Panasonic相机使用其愚蠢的PHOTOfunSTUDIO来导入照片。它根据拍摄照片的日期名称创建文件夹,并分别将照片导入这些文件夹。到现在为止还挺好。但是如果我在从相机中删除所有旧图片之前再次导入,则会通过添加名称后缀(002),(003),...再次导入旧图片,无论如何更改该软件的设置。

我的问题:如何从这些文件夹中删除所有具有名称后缀的文件?

例如,这是一个文件夹:

D:\Photos\2011\2011-12-01>dir  /b
20111201_184550(002).cont
20111201_184550(002).iis
20111201_184550(002).m2ts
20111201_184550(002).tmb
20111201_184550.cont
20111201_184550.iis
20111201_184550.m2ts
20111201_184550.tmb

3 个答案:

答案 0 :(得分:11)

好吧,也许我是傻瓜。它不需要任何批次:

del /s *(00?).*

答案 1 :(得分:4)

del *"("*")".* /s 

周围的“”表示它是一个字符而不是删除命令的一部分 / s - 包括所有子文件夹

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/del.mspx?mfr=true

http://msdn.microsoft.com/en-us/library/ms690414%28v=vs.85%29.aspx

答案 2 :(得分:1)

您可以像使用任何搜索工具一样轻松使用通配符asterix(*)进行搜索

- 未指定目录时搜索当前文件夹

del Search_Service_Application_1_*.trn

- 即使您在另一个驱动器中也指定特定文件夹

del d:\test\*copy*.txt