Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Удаление из заданной папки старых 7z-архивов (http://forum.oszone.net/showthread.php?t=242928)

ApxapoBeu 18-09-2012 19:27 1991003

Удаление из заданной папки старых 7z-архивов
 
Здравствуйте. Прошу знающих людей проверить мой скрипт. Он работает и выполняет то, что от него требуется, но перед тем, как отправить его в планировщик, хотелось бы убедиться, что он безопасен.
Скрипт должен удалять из заданной папки .7z архивы, которые старше %delta% месяцев (принимать значение больше 12 дельта точно не будет), и доложить об удалении в лог.
читать дальше »

@Echo off

SetLocal EnableDelayedExpansion

SET PATH_LOG=C:\Archive\LOG\
SET LOG_FILE=Event.log
Set del7z=c:\archive\*.7z
set delta=2
set yyyy=%date:~6,4%
Set /A MM=1%Date:~3,2%-%Delta%-100
if %mm% lss 1 (
set /a mm=12+%mm%
set /a yyyy=%yyyy%-1
)
set dd=%date:~0,2%
if %dd% gtr 29 set dd=29
if %mm% lss 10 (
set yyyymmdd=%yyyy%0%mm%%dd%
) else (
set yyyymmdd=%yyyy%%mm%%dd%
)
echo %yyyymmdd%

for %%i in (%del7z%) do (
set $t=%%~ti& set $d=!$t:~6,4!!$t:~3,2!!$t:~,2!
if !$d! LSS %yyyymmdd% (
DEL /F "%%i"
echo %DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2% - %TIME:~0,-3% - %%~ni.7z - Удален - OK >>"%PATH_LOG%%LOG_FILE%"
)
)

firstarey 19-09-2012 13:00 1991416

можно обойтись сделующим:

forfiles /P c:\archive\ /M *.7z /S /D -31 /C "cmd /c echo Deleted: @PATH >> %DIR_log%erase.log & del @FILE"

где:

синим выделено

/D <дата>
Выбор файлов, у которых дата последнего изменения больше или равна (+) либо меньше или равна (-) указанной дате при использовании формата "dd.MM.yyyy"; либо файлов, у которых дата последнего изменения больше или равна (+) текущей дате плюс "dd" дней либо меньше или равна (-) текущей дате минус "dd" дней. Допустимым числом дней "dd" является любое число в диапазоне 0 - 32768. "+" используется по умолчанию, если знак не указан

ApxapoBeu 19-09-2012 17:03 1991559

2 firstarey
Спасибо за ответ, но скрипт будет запускаться на хр, в которой нет forfiles. наверное можно запилить forfiles и для хр, но я решил пойти другим путем

ApxapoBeu 08-10-2012 10:34 2001254

Скрипт в планировщике 3 недели. пока все ок


Время: 15:06.

Время: 15:06.
© OSzone.net 2001-