Как удалить N файлов типа X из Y вложенных папок из пакетного файла Windows?
-
22-07-2019 - |
Вопрос
Я пытаюсь написать пакетный файл Windows, который может удалять файлы из подкаталогов.Я бы предпочел не вводить жесткий код структуры каталогов, чтобы я мог использовать этот процесс с другими проектами.
- Мне нужно удалить файлы типа X,
- У меня есть родительская папка
C:\MyProject
, - Есть Y вложенных папок
C:\MyProject\?
, - Есть N файлов для удаления.
Есть ли быстрый del
функция (типа), которую я просто пропускаю?
Решение
На самом деле вы можете использовать стандартную команду del:
c:
cd MyProject
del /S *.type
Где type - это расширение, которое вы хотите удалить, а параметр /S будет проверяться во всех вложенных папках MyProject.
Другие советы
Если бы у команды del не было флага / S для рекурсивного удаления, я бы использовал AWK, чтобы сделать что-то подобное (вам понадобятся инструменты UNIX для Windows):
dir MyProject\*.* /ad /s /b | gawk "{print \"del \\\"\" $0 \"\\*.type\\\"\";}" | cmd
Мои 2 цента, на случай, если вам когда-нибудь понадобится сделать что-то подобное (применить программу ко всем файлам типа X во всех вложенных папках) с помощью команды, в которой отсутствует рекурсивный флаг.