Как удалить файлы старше N дней в Windows

Опубликовано administrator - чт, 02/10/2022 - 12:52

Довольно часто при написании скриптов на бэкапы приходится производить проверку на их количество и удалять файлы старше определенного времени. Для этого в Windows можно использовать команду FORFILES.

Примеры работы команды:

Отобразить файлы старше 30 дней:

forfiles /p C:\Backups\ /m *.zip /s /d -10 /c "cmd /c echo @path"

/p C:\Backups\ - директория в которой ищем файлы

/m *.zip - маска поиска файлов

/s - сканировать вложенные папки

/d -30 - старше какого количества дней искать файлы

/c "cmd /c echo @path" - выполняемая команда, где @path - это переменная пути к указанной директории

Удалить файлы старше 30 дней

forfiles /p C:\Backups\ /m *.zip /s /d -30 /c "cmd /c del @path /q"

Описание ключей аналогичное, только вместо echo пишем del и добавляем /q - удаление файлов без подтверждения