Как удалить N файлов типа X из подпапок Y из пакетного файла Windows? - PullRequest
17 голосов
/ 03 декабря 2008

Я пытаюсь написать пакетный файл Windows, который может удалять файлы из подкаталогов. Я бы предпочел не жестко программировать структуру каталогов, чтобы использовать этот процесс с другими проектами.

  • Мне нужно удалить файлы типа X,
  • У меня есть родительская папка C:\MyProject,
  • Есть подпапки Y C:\MyProject\?,
  • Есть N файлов для удаления.

Есть ли быстрая del (типа) функция, которую мне просто не хватает?

Ответы [ 2 ]

34 голосов
/ 03 декабря 2008

На самом деле вы можете использовать стандартную команду del:

c:
cd MyProject
del /S *.type

Где тип - расширение, которое вы хотите удалить, и параметр / S будет проверять все подпапки MyProject.

1 голос
/ 04 декабря 2008

Если бы у команды del не было рекурсивного удаления флага / S, я бы использовал AWK, чтобы сделать что-то подобное (вам понадобятся инструменты UNIX для Windows):

dir MyProject\*.* /ad /s /b | gawk "{print \"del \\\"\" $0 \"\\*.type\\\"\";}" | cmd

Мои 2 цента, на случай, если вам когда-нибудь понадобится сделать что-то подобное (применить программу ко всем файлам типа X во всех подпапках) с помощью команды, в которой отсутствует рекурсивный флаг.

...