Как удалить N файлов типа X из подпапок Y из пакетного файла Windows?

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

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

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

2 ответа

Решение

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

c:
cd MyProject
del /S *.type

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

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

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

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

Другие вопросы по тегам