如何修复控制台窗口关闭的输出警告



我正在使用批处理文件运行一个*.exe文件并将其结果输出到文件中。批处理文件包含以下命令:

"....GeneralDataexeexecutable.exe" > B:Simulations7642Time_20130101_20130111output.txt
exit

我正在扫描output.txt以查找任务何时成功完成。当应用程序运行时没有错误,这很有效,因为输出了"成功完成"字符串。问题是当发生错误时,因为此应用程序中的错误可能有多个代码,因此几乎不可能扫描每个选项。

我的想法是在控制台窗口关闭(执行退出命令)时输出一条消息,并扫描output.txt试图找到"成功完成"字符串。如果不存在,则为错误。我正在尝试执行以下操作:

start /MIN cmd /c "Model.bat || call echo %^errorLevel% > exitcode.txt"

但它不输出exitcode.txt。有人可以给我一些关于如何做到这一点的线索吗?

在Windows控制台中,错误通常输出到STDERR,STDERR可以通过以下方式重定向到文件:

executable.exe > output.txt 2> error.txt

如果您的"可执行文件.exe"提供了退出代码,您可以在下一行代码中通过 %errorlevel% 值来捕获它:

executable.exe > output.txt 2> error.txt
if errorlevel 1 process_error.txt_routine
请注意,"if errorlevel"

子句的意思是,errorlevel 等于或高于给定的数字,因此"if errorlevel 0"将始终为真。

最新更新