2010-08-19 109 views
7

我有一個運行程序RichCopy的一個批處理文件,我想監視ERRORLEVEL到目前爲止,我得到這個批處理文件寫入到事件查看器

IF(%ERRORLEVEL%== 0)轉到OK 否則,如果(%ERRORLEVEL%= = 3010)轉到報告

:報告

:OK END

我所想要做的是錯誤報告在事件查看器,以便它可以是通過另一個應用程序監視監視事件日誌。

回答

16

您可以使用EVENTCREATE來寫入事件日誌。

一個例子是:

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

的更多信息可以在TechNet article找到。

編輯

在你的情況,試試這個。你的括號和==的使用可能會拋出一些東西。

@ECHO OFF 

IF %ERRORLEVEL% NEQ 3010 goto OK  

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

:OK 

EXIT 

這樣,如果錯誤級別不是3010,它總是跳到確定方法,如果你得到其他的東西比0或3010

+0

那是偉大的,但它每次都報告給事件查看器甚至成功? – andy 2010-08-19 15:54:24

+0

根據始終觸發的事件修改我的答案 – LittleBobbyTables 2010-08-19 16:12:42

+3

包含/ so選項以指示源(系統除外)是有幫助的。否則,該消息的格式將失敗。 – 2013-01-10 21:58:53