2010-08-19 107 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