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

StackOverflow https://stackoverflow.com/questions/337522

Вопрос

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top