|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Корректное возвращение Errorlevel |
|
CMD/BAT - [решено] Корректное возвращение Errorlevel
|
Новый участник Сообщения: 14 |
Доброго времени суток.
Есть скрипт проверки событий по заданным аргументам: @echo off setlocal enabledelayedexpansion set r=%1 set u=%2 set p=%3 set x=%4 set y=%5 set z=%6 FOR /F "delims=" %%i IN ('%windir%\system32\wevtutil.exe qe /r:%r% /u:%u% /p:%p% %x% /rd:true /f:text /q:"*[%x%[Provider[@Name='%y%'] and (EventID=%z%)]]"^|find /c "%z%"') do set "cnt=%%~i" echo !errorlevel! echo %cnt% Как выводить errorlevel именно команды find, чтобы убедиться, что команда сработала верно. И как смоделировать ситуацию, когда он будет 1? |
|
Отправлено: 14:12, 24-05-2015 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Минус начальству нужен.
Интересно, а можно сделать errorlevel=0, если события не найдены и 1, если найдены? |
Последний раз редактировалось hunk3r, 25-05-2015 в 15:05. Отправлено: 14:53, 25-05-2015 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата hunk3r:
|
|
Отправлено: 15:09, 25-05-2015 | #12 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Ребят. Начальство лютует и я понять не могу, что от меня хотят.
Есть 2 файла: 1.bat и 2.bat В первом записана команда wevtutil.exe в примерном виде: @echo off setlocal enabledelayedexpansion set r=%1 set u=%2 set p=%3 set x=%4 set y=%5 set z=%6 FOR /F "delims=" %%i IN ('%windir%\system32\wevtutil.exe qe /r:%r% /u:%u% /p:%p% %x% /rd:true /f:text /q:"*[%x%[Provider[@Name='%y%'] and (EventID=%z%)]]"^|find /c "%z%"') do set "cnt=%%~i" Вопрос! Как получить во втором файле в переменную %ERRORLEVEL%: а) при успешном выполнении wevtutil+find -> КОЛ-ВО СОБЫТИЙ б) при ошибке выполнения (файла wevtutil.exe нет, событий нет, ошибка в синтаксисе etc.) -> КОД ОШИБКИ |
Последний раз редактировалось hunk3r, 25-05-2015 в 18:54. Отправлено: 15:35, 25-05-2015 | #13 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать ВСЁ! Готовый скрипт для передачи кол-ва событий системе мониторинга:
1.bat: @echo off chcp 1251>nul setlocal enabledelayedexpansion set r=%1 set u=%2 set p=%3 set x=%4 set y=%~5 set z=%6 %windir%\system32\wevtutil.exe qe /r:%r% /u:%u% /p:%p% %x% /rd:true /f:text /q:"*[%x%[Provider[@Name='%y%'] and (EventID=%z%) and TimeCreated[timediff(@SystemTime) <= 86400000]]]">nul if %errorlevel% neq 0 goto a FOR /F "delims=" %%i IN ('%windir%\system32\wevtutil.exe qe /r:%r% /u:%u% /p:%p% %x% /rd:true /f:text /q:"*[%x%[Provider[@Name='%y%'] and (EventID=%z%) and TimeCreated[timediff(@SystemTime) <= 86400000]]]"^|find /c "%z%"') do set "cnt=%%~i" set errorlevel=%cnt% exit /b %errorlevel% :a exit /b -%errorlevel% |
Последний раз редактировалось hunk3r, 26-05-2015 в 15:06. Отправлено: 18:56, 25-05-2015 | #14 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Сортировка файлов по результату Errorlevel | Herheinz | Скриптовые языки администрирования Windows | 12 | 22-03-2015 20:23 | |
CMD/BAT - [решено] %errorlevel% внутри цикла всегда 0 | apozlevich | Скриптовые языки администрирования Windows | 5 | 22-11-2013 18:55 | |
errorlevel msp | sov44 | Хочу все знать | 15 | 29-07-2013 12:17 | |
CMD/BAT - [решено] вопрос по ping и команде if %errorlevel% | zion87 | Скриптовые языки администрирования Windows | 1 | 29-12-2011 02:57 | |
Cmd Параметр ERRORLEVEL | storm2005 | Microsoft Windows NT/2000/2003 | 1 | 30-03-2007 18:49 |
|