批处理文件写入事件查看器

7

我有一个批处理文件,运行了一个richcopy程序,我想要监控errorlevel,目前我已经得到了以下代码:

IF (%ERRORLEVEL% == 0) goto OK else IF (%ERRORLEVEL% == 3010) goto Report

:Report

:OK END

我想要的是将错误报告给事件查看器,以便可以通过另一个监视事件日志的应用程序进行监视。

1个回答

20
您可以使用 EVENTCREATE 写入事件日志。
例如:
EVENTCREATE /T ERROR /L APPLICATION /ID 100 /D "This is your error message."

更多信息可以在TechNet文章中找到。

编辑

在您的情况下,尝试这个。您的括号和使用==可能会引起混乱。

@ECHO OFF

IF %ERRORLEVEL% NEQ 3010 goto OK    

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

:OK 

EXIT

如果错误级别不是3010,那么它总是跳到OK方法,以防获取到的结果不是0或3010。


太好了,但即使成功了,它也会每次都向事件查看器报告吗? - andy
根据事件始终触发的情况,修改了我的答案。 - LittleBobbyTables - Au Revoir
3
最好使用/so选项来指示消息来源(除了系统外的其他来源),否则消息格式化将失败。 - Matthew Lundberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接