2010-08-19 10 views
7

Ho un file batch che esegue un programma RichCopy, Sono voler monitorare l'errorlevel Finora ho ottenuto questoBatch File per scrivere a Visualizzatore eventi

IF (% ERRORLEVEL% == 0) goto OK else if (% ERRORLEVEL% == 3010) goto Relazione

: Segnala

: OK END

quello che sto volendo fare è di segnalare l'errore al visualizzatore eventi in modo che possa essere monitorato tramite un'altra applicazione che controlla i log degli eventi.

risposta

16

È possibile utilizzare EVENTCREATE per scrivere nel registro eventi.

Un esempio potrebbe essere:

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

Maggiori informazioni possono essere trovate al TechNet article.

EDIT

Nel tuo caso, prova questo. La tua parentesi e l'uso di == potrebbero buttare via le cose.

@ECHO OFF 

IF %ERRORLEVEL% NEQ 3010 goto OK  

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

:OK 

EXIT 

In questo modo, se il livello di errore non è 3010, salta sempre al metodo OK, nel caso in cui si ottiene qualcosa di diverso da 0 o 3010.

+0

Questo è grande, ma segnala ogni volta al spettatore di eventi anche sul successo? – andy

+0

Rivisto la mia risposta in base all'evento che si attiva sempre – LittleBobbyTables

+3

È utile includere l'opzione/so, per indicare una fonte (diversa da System). Altrimenti la formattazione del messaggio fallirà. –

Problemi correlati