我有一些遗留软件需要在 Control-M 下自动化。这些作业在 Windows 2008R2 下。
如果这些作业运行正常,但如果它们可以管理一些错误,它们的退出代码为 0。当日志中有特定字符串时,我需要发出警报。
该字符串不在可执行文件的输出中。
我为此实施了另一项工作。它会在文件中搜索一个字符串,然后在“On Do Actions”中搜索该语句。
要在输出中包含该语句,我认为可以使用grep之类的东西。我用了:
findstr
findstr "myerrorcode" D:\Log\greptest_%%$ODATE..log
grep
在cygwin下
在这两种情况下,我都有相同的情况:
- 如果找到字符串,一切正常
- 如果文件未找到或无法打开,则 grep 或 findstr 返回退出代码 = 1。这没关系,因为作业必须引发错误。
但问题是:当文件中没有找到该字符串时,grep 和 findstr 都有一个返回码 = 1。
如何区分文件无法打开和一切运行正常但找不到日志中的sring的情况?