2010-08-19 20 views
7

Ich habe eine Batch-Datei, die ein Richcopy Programm läuft, ich bin zu wollen, die Errorlevel zu überwachen, so weit ich dasBatchdatei Ereignisanzeige schreiben

IF (% Error-% == 0) goto OK bekommen haben IF sonst (% error-% == 3010) goto Bericht

:

Report: OK END

Was ich will tun, um den Fehler zu der Ereignisanzeige zu melden, so dass es sein kann, überwacht über eine andere Anwendung, die überwacht die Ereignisprotokolle.

Antwort

16

Sie können EVENTCREATE verwenden, um in das Ereignisprotokoll zu schreiben.

Ein Beispiel wäre:

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

Weitere Informationen finden Sie auf der TechNet article finden.

EDIT

In Ihrem Fall, versuchen Sie dies. Ihre Klammer und Verwendung von == kann Dinge wegwerfen.

@ECHO OFF 

IF %ERRORLEVEL% NEQ 3010 goto OK  

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

:OK 

EXIT 

diese Weise, wenn der Fehlerpegel nicht 3010 ist, überspringt es immer auf die OK-Methode, falls Sie etwas anderes als 0 oder 3010

+0

Das ist großartig zu bekommen, aber es meldet jedes Mal der Event Viewer selbst auf Erfolg? – andy

+0

Überarbeitete meine Antwort basierend auf dem Ereignis immer feuern – LittleBobbyTables

+3

Es ist hilfreich, die Option/so einzuschließen, um eine Quelle (außer System) anzugeben. Andernfalls schlägt die Formatierung der Nachricht fehl. –

Verwandte Themen