Как удалить 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 во всех подпапках) с командой, в которой отсутствует рекурсивный флаг.