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

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

Ветеран


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

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


Приблизительно так (не проверял, просто вынес тело цикла наружу)
Код: Выделить весь код
@echo off
setlocal

set D=%date:~0,2%
set M=%date:~3,2%
set /a Ma=1%M% - 101

IF %Ma% LSS 10 (SET Mm=0%Ma%) ELSE (SET Mm=%Ma%)
set Y=%date:~6%

FOR /L %%B in (1,1,31) DO call:0 %%B
goto:eof

:0

IF NOT EXIST "%Srv%\backup" (MD "%Srv%\backup" 1>Nul 2>&1)
IF %1 LSS 10 (SET Db=0%1) ELSE (SET Db=%1)
SET bName=backup_%Y%.%M%.%Db%.7z
SET bNameR=backup_FED_%Y%.%M%.%Db%.WRK.7z

pause

SET Size=100
FOR /F %%a in ('dir /b /s /a-d "%Srv%\backup\%dName%"') do (SET x=%%~za)
IF %x% LEQ %Size% (DEL /S /Q "%Srv%\backup\%dName%" 1>Nul 2>&1)

REN "%Srv%\backup\%bName%" "%bNameR%" 1>Nul 2>&1
FORFILES /P "%Srv%\backup" /M *.* /S /D -31 /C "CMD /c DEL /q @PATH"
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:43, 01-04-2016 | #4