2010-08-19 13 views
7

Mam plik wsadowy, który uruchamia richcopy programu, Ja chce monitorować ERRORLEVEL tej pory mam toBatch File napisać do podglądu zdarzeń

if (% ERRORLEVEL% == 0) goto OK else if (% ERRORLEVEL% == 3010) goto Zgłoś

: Zgłoś

: OK END

Co ja chce zrobić, to zgłosić błąd do podglądu zdarzeń, aby mógł on być monitorowane za pomocą innej aplikacji, która monitoruje dzienniki zdarzeń.

Odpowiedz

16

Możesz użyć EVENTCREATE, aby napisać do dziennika zdarzeń.

Przykładem może być:

EVENTCREATE /T ERROR /L APPLICATION /ID 100 /D "This is your error message." 

Więcej informacji można znaleźć na TechNet article.

EDIT

w Twoim przypadku, spróbuj tego. Twoje nawiasy i użycie == mogą powodować odrzucanie.

@ECHO OFF 

IF %ERRORLEVEL% NEQ 3010 goto OK  

EVENTCREATE /T ERROR /L APPLICATION /ID 100 /D "This is your error message." 

:OK 

EXIT 

W ten sposób, gdy poziom błędu nie jest 3010, to zawsze pomija metody OK, w przypadku, gdy coś innego niż 0 lub 3010.

+0

Ów wielki, ale za każdym razem zgłasza się do przeglądarka zdarzeń nawet po sukcesie? – andy

+0

Poprawiona moja odpowiedź w oparciu o zdarzenie zawsze zwalniające – LittleBobbyTables

+3

Pomocne jest dołączenie opcji/so, aby wskazać źródło (inne niż System). W przeciwnym razie formatowanie wiadomości zakończy się niepowodzeniem. –