Войти

Показать полную графическую версию : Архивирование


John87
02-05-2023, 13:12
День добрый, встала задача об архивации всякого мусора

собственно что имеем, в папке c:\logs\ есть куча папок в стиле 02.05.2023, 01.05.2023, 30.04.2023 и так далее..
нужно чтоб винрар раз в сутки архивировал папку допустим 3 дневной давности по пути D:\archive\ с именем 29.04.2023.rar и удалил после сего действа папку 29.04.2023, ну и в догонку дописал в файл D:\archieve\all.log какой архив он создал и какую папку удалил

как то это можно сделать?

Я что то ломаю голову, и ничего путевого не получается..

можно ps, в общем то без разницы

megaloman
02-05-2023, 15:49
@Echo Off &Cls
Set "BoxIn=Z:\logs"
Set "BoxArc=Z:\Box_Arc"
Set "Log=Z:\archieve\all.log"
Set /A N=3

Set Arc="C:\Program Files\WinRar\WinRAR.exe" a -r -df -ibck

For /F "usebackq skip=%N% delims=" %%d In (`2^>nul Dir "%BoxIn%\" /AD /B /O-D /TC ^|FindStr /R /C:"[0-3][0-9]\.[0-1][0-9]\.20[0-9][0-9]"`) Do (
Call Set "Msg=%%Date%% %%Time%% "%BoxIn%\%%d"
%Arc% "%BoxArc%\%%d.rar" "%BoxIn%\%%d" &&Call Set "Msg=%%Msg%% "%BoxArc%\%%d.rar"
Call Echo %%Msg%%>>%Log%
)
Pause
Exit /BПути укажите свои




© OSzone.net 2001-2012