2010-08-19 10 views
7

Tengo un archivo por lotes que se ejecuta un programa RichCopy, que estoy queriendo controlar el nivel de error hasta ahora he conseguido estede archivos por lotes para escribir al visor de eventos

SI (% ERRORLEVEL% == 0) Goto OK else if (% ERRORLEVEL% == 3010) Goto Informe

: Informar

: OK FIN

lo que estoy queriendo hacer es informar del error al visor de eventos para que pueda ser monitoreado a través de otra aplicación que supervisa los registros de eventos.

Respuesta

16

Puede usar EVENTCREATE para escribir en el registro de eventos.

Un ejemplo sería:

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

Más información se puede encontrar en la TechNet article.

EDITAR

En su caso, prueba esto. Tu paréntesis y el uso de == pueden estar tirando cosas.

@ECHO OFF 

IF %ERRORLEVEL% NEQ 3010 goto OK  

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

:OK 

EXIT 

De esta manera, si el nivel de error no es 3010, que siempre se salta al método bien, en caso de que llegue algo que no sea 0 ó 3010.

+0

Eso es grande, pero cada vez que informa a la espectador de eventos incluso en el éxito? – andy

+0

Revisé mi respuesta en función del evento siempre disparando – LittleBobbyTables

+3

Es útil incluir la opción/so, para indicar una fuente (que no sea el Sistema). De lo contrario, el formato del mensaje fallará. –

Cuestiones relacionadas