Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


zavoruev, всё можно... важней понять, что нужно

1. для такой постановки $OLD не требуется, т.к. сравнение всегда идет с 1-м числом месяца
Код: Выделить весь код
@Echo Off

Set $SRC=D:\Mazda
Set $DST=D:\Backup

:: Текущие день/месяц/год
For /F "Tokens=1 Delims=." %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set $Time=%%i
Set $Y=%$Time:~0,4%&Set $M=0%$Time:~4,2%&Set $D=0%$Time:~6,2%
Set $M=%$M:~-2%&Set $D=%$D:~-2%

:: Копирование каталога
XCopy /S/E/D/C/Q %$SRC%\* %$DST%\%$D%.%$M%.%$Y%\

:: Дата 1-го дня предыдущего месяца
Set /A $M=%$M%+11-((%$M%+10)/12)*12
Set $M=0%$M%
Set $M=%$M:~-2%
If %$M% EQU 12 Set /A $Y-=1

:: Удаляем старые архивные каталоги
If %$D% EQU 01 For /F "Tokens=1-3 Delims=." %%i In ('DIR /B/A:D %$DST%\??.??.????') Do If %%k%%j%%i LSS %$Y%%$M%01 RD /S/Q "%$DST%\%%i.%%j.%%k"
2. во втором скрипте значение $OLD может быть любым положительным целым числом

Последний раз редактировалось amel27, 07-07-2009 в 14:20. Причина: очепятка

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:35, 07-07-2009 | #9