实时解析命令输出并处理ErrorLevel

时间:2018-01-23 17:19:33

标签: windows batch-file command-prompt

我正在使用批处理脚本来调用MSVC编译器。我正在尝试逐行处理编译器的输出(而不是等待编译器一次完成并处理所有输出,而for /F会这样做)。另外,我需要知道编译器返回的退出代码。

对于第一部分,我发现到另一个批处理脚本的管道工作。

(%COMPILER_COMMAND%)|Parser.bat
if errorlevel 1 goto Fail

但是,此处的错误级别检查是查看Parser退出代码。解析器不知道编译器的退出代码,因此无法返回任何有意义的内容。

如果我试图“转发”编译器成功/失败,则错误级别检查最终会检查echo的退出代码。再次,不是很有帮助。

(%COMPILER_COMMAND% && echo Success || echo Failure)|Parser.bat
if errorlevel 1 goto Fail

我甚至尝试将变量设置为命令的一部分,但它是空的。

(%CC% %SRCPATH% %LN% & set error=!ERRORLEVEL!)|Parser.bat
echo Error %error%

如何逐行处理命令输出并仍能检索错误级别?

0 个答案:

没有答案