@Echo Off
SetLocal EnableDelayedExpansion
Rem Определяем пути исходных данных и куда класть резервные копии
Set cmd7z="C:\Scripts\Backup\7za.exe"
Set workpath="C:\Store"
Set backupdir="C:\backup\Store_dayX5"
Set history=5
Rem Осуществляем ротацию резервных копий
If Exist %backupdir%"\0%history%-*_TVBackUp.7z" ^
Ren %backupdir%"\0%history%-*_TVBackUp.7z" "XX-*_TVBackUp.7z"
For /L %%j In (%history%,-1,1) Do (
Set /a k=%%j - 1
If Exist %backupdir%"\0!k!-*_TVBackUp.7z" ^
Ren %backupdir%"\0!k!-*_TVBackUp.7z" "0%%j-*_TVBackUp.7z"
)
Rem Собственно само резервное копирование
For /F "usebackq delims==" %%i In (`"Dir /ad /b %workpath%"`) DO (
%cmd7z% a -bd -t7z -r -ssw -mx9 -y ^
%backupdir%\"01-1cDayX5_%%i_TVBackUp.7z" %workpath%"\%%i\*"
)
Rem удаляем старые резерные копии
If Exist %backupdir%"\XX-*_TVBackUp.7z" ^
Del %backupdir%"\XX-*_TVBackUp.7z"
Set workpath=
Set backupdir=
Set history=
Set k=
EndLocal
0500-it/0500-soft/0500-windows/0500-cmd/0500-smallauto/0500-backup_with_hard_rotate_7z.cmd.txt · Последние изменения: 2012/04/2017:29 (внешнее изменение)