Мне нужно создать архив с помощью первого бат-файла и чтобы оставались только 5 последних архивов, а остальные удалялись. А вторым бат-файлом нужно последний созданный архив разархивировать в указанную директорию.
Первый бат архив написал, но не работает удаление старых, и соответственно не получается сделать такой же алгоритм для разархивации крайнего архива. Так же что бы проверить работоспособность нужно создать файл в блокноте DB_Updat.txt и записать туда полный путь до файла который будете архивировать.
chcp 1251
SET Arc=5
rem Изменить на свой каталог
set OutDir=C:\Users\user\Desktop\mmm
if not exist "%OutDir%" md "%OutDir%"
set h=%time:~0,2%
set h=%h: =0%
set FullBackupDir=%OutDir%\%date%_%h%%time:~3,2%%time:~6,2%\
md %FullBackupDir%
set ArcName=%FullBackupDir%\BD_Update_%date%.zip
set DB_Update=@C:\Users\user\Desktop\DB_Updat.txt
start /wait WinRAR a -y -m5 -ep -dh %ArcName% %DB_Update%
SET Index=0
rem Не удаляет старые архивы....
for /f "tokens=* delims=" %%D in ('dir %OutDir% /ad /b /o-d') do (
if not %%D=="" (
if not Arc==0 (
set /a Arc-=1
) else (
И вот второй батник, чтобы извлечь последний созданный архив, но должным образом не работает, только выводит как "текст" название последнего созданного каталога с архивом.
chcp 1251
set InDir=C:\Users\user\Desktop\mmm
set OutDir=C:\Users\user\Desktop\mmm!!!
for /f "delims=" %%d in ('dir /b/s/a-d/od "%InDir%\*.*"') do set "$d=%%~nxd %%~td"
start /wait WinRAR e -y %$d% %OutDir%