Удаление файлов через cmd утилитой forfiles.exe

Пример как с ее помощью можно удалять бекапы старше 20 дней:

forfiles.exe /p С:\Backup\ /s /m *.* /d -20 /c «cmd /c del /q /f @file»

обычный батник — и вуаля само делает неинтересную работу..

справка по FORFILES

FORFILES [/P <путь>] [/M <маска_поиска>] [/S]

[/C <команда>] [/D [+ | -] {dd.MM.yyyy | dd}]

Описание.

Выбор файла (или набора файлов) и выполнение команды

с этим файлом. Программа полезна для пакетных заданий.

Параметры:

/P <путь> Путь, с которого начинается поиск.

По умолчанию используется текущая

рабочая папка (.).

/M <маска_поиска> Поиск файлов с помощью маски.

Маска поиска по умолчанию «*» .

/S Рекурсивное выполнение программы forfiles

во всех подпапках, аналогично «DIR /S».

/C <команда> Команда, которая выполняется для каждого файла.

Строки команд необходимо заключать в прямые

кавычки.

Команда по умолчанию «cmd /c echo @file».

Следующие переменные могут использоваться

в строке команды:

@file — возвращает имя файла.

@fname — возвращает имя файла без

расширения.

@ext — возвращает только расширение имени

файла.

@path — возвращает полный путь к файлу.

@relpath — возвращает относительный путь к

файлу.

@isdir — возвращает значение «TRUE», если типом

файла является папка, и «FALSE» для файлов.

@fsize — возвращает размер файла

в байтах.

@fdate — возвращает дату последнего изменения

файла.

@ftime — возвращает время последнего изменения

файла.

Для включения специальных символов в строку команды

следует использовать шестнадцатеричный код символа

в формате 0xHH (например, 0x09 для табуляции).

Перед внутренними командами CMD.exe необходимо ставить

«cmd /c».

/D <дата> Выбор файлов, у которых дата последнего изменения

больше или равна (+) либо меньше или равна

(-) указанной дате при использовании формата

«dd.MM.yyyy»; либо файлов, у которых дата последнего

изменения больше или равна (+)

текущей дате плюс «dd» дней либо меньше или

равна (-) текущей дате минус «dd» дней.

Допустимым числом дней «dd» является любое

число в диапазоне 0 — 32768.

«+» используется по умолчанию, если знак не указан.

/? Вывод справки по использованию.

Примеры:

FORFILES /?

FORFILES

FORFILES /P C:\WINDOWS /S /M DNS*.*

FORFILES /S /M *.txt /C «cmd /c type @file | more»

FORFILES /P C:\ /S /M *.bat

FORFILES /D -30 /M *.exe

/C «cmd /c echo @path 0x09 был изменен 30 дней назад»

FORFILES /D 01.01.2001

/C «cmd /c echo @fname является новым с 1-янв-2001»

FORFILES /D +25.1.2011 /C «cmd /c echo @fname является новым сегодня»

FORFILES /M *.exe /D +1

FORFILES /S /M *.doc /C «cmd /c echo @fsize»

FORFILES /M *.txt /C «cmd /c if @isdir==FALSE notepad.exe @file»