Имя пользователя:
Пароль:
 

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

Новый участник


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

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


получилось
проверяет нет ли ошибок в логе
затем генерятся дата и ищется
Код: Выделить весь код
@echo off
findstr /m /C:"___BAD" test.log>nul
SET error=%errorlevel%
IF %error% NEQ 1 (echo exit&goto :EOF) else (echo NEXT)
SET finded=1
FOR /F %%a IN (days.lst) DO call 4.bat %%a
IF %finded% NEQ 1 (echo finded) else (echo.)
Код: Выделить весь код
@echo off
SET count_day_off=%1
for /f "skip=2 tokens=2*" %%i in ('reg QUERY "HKCU\Control Panel\International" /v sDate') do set sdate=%%j
for /f "delims=%sdate% tokens=1,2,3" %%i in ("%DATE%") do call :getpackage %%i %%j %%k
 
:: проверочка
rem echo %year%
rem echo %month%
rem echo %day%
rem echo %package%
findstr /m /C:"%package%___" test.log>nul
SET error=%errorlevel%
IF %error% NEQ 1 (SET finded=0&GOTO :EOF)

 
 
:: тут можно поместить необходимые нам команды
 
goto :EOF
 
:getpackage
set day=%1
set month=%2
set /a year=%3
set lastdays="31 28 31 30 31 30 31 31 30 31 30 31"
if %day% leq 9 set /a day=%day:~-1%
if %month% leq 9 set /a month=%month:~-1%
set /a day-=%count_day_off%
if "%day%"=="0" set /a month-=1
if "%month%"=="0" set /a month=12,year-=1
set /a isleap="(year%%4)&((year%%100)|(year%%400))"
if "%isleap%"=="0" set lastdays=%lastdays:28=29%
if "%day%"=="0" for /f "tokens=%month%" %%i in (%lastdays%) do set day=%%i
if %day% leq 9 set day=0%day%
if %month% leq 9 set month=0%month%
set package=%year%.%month%.%day%
rem set package=%year%-%month%-%day%
goto :EOF

Код: Выделить весь код
1
2
3
4
5
6
7

Отправлено: 15:35, 13-10-2011 | #6