Настроить архивирование дерева каталогов за прошлый период с помощью WinRar

Нам поможет скрипт и установленный WinRar ;)

chcp 1251
rem ---------------------------------------------------------------
rem Надо настроить:
rem Gde - Папка, где берём файлы для архивирования и удаления
rem Kuda - Папка, где храним архивы
rem TDate - Дата в формате ГГГГММДД
rem В приведенном батнике дата преобразуется из системной переменной %Date%
rem Для Win XP или 2003 %Date% по умолчанию выдаётся в формате ДД.ММ.ГГГГ
rem При необходимости написать своё преобразование

Set Gde=D:\DATA_FILES\Katalog
Set Kuda=D:\Backups\Katalog.arh

Set TDate=%date:~6,4%%date:~3,2%%date:~0,2%

If Exist %Kuda%\%TDate%.rar GoTo End

MD %Kuda%

"%programfiles%\WinRar\Winrar.exe" a -r -df -ed -to30d %Kuda%\%TDate%.rar %Gde%\*.*

:End
rem ---------------------------------------------------------------

где:

a - добавить файлы в архив

-r рекурсия в подкаталоги

-df - удалить файлы после архивирования

-ed не добавлять пустые каталоги

-to30d - архивировать файлы старше 30 дней

 

Set TDate=%date:~6,4%%date:~3,2%%date:~0,2% поможет привести текущую дату в божеский вид - год, месяц, число для удобства сортировки по имени.

Данный скрипт устанавливаем в планировщике задач Windows. Если что-то не работает, проверьте ваши пути и особенно переменную окружения %date%, возможно в вашей командной строке ее формат отличается.