Как удалить файлы, содержащие определенную строку, используя пакетный файл в Windows? - PullRequest
7 голосов
/ 15 декабря 2011

Моя камера 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 ]

11 голосов
/ 15 декабря 2011

ОК, возможно, я был глуп.Для этого не нужна партия:

del /s *(00?).*
4 голосов
/ 15 декабря 2011
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

1 голос
/ 12 апреля 2016

вы можете легко использовать подстановочный знак звездочка (*) для поиска, как и любая поисковая утилита

- поиск в текущей папке, если каталог не указан

del Search_Service_Application_1_*.trn

- указание работающей конкретной папки, даже если вы находитесь на другом диске

del d:\test\*copy*.txt
...