我想运行一个命令并将其输出 和 退出代码保存在不同的文件中。
这是我在做什么:
cmd.exe /C command 1> %TEMP%\output.log 2> %TEMP%\error.log && echo %ERRORLEVEL% > %TEMP%\status || echo %ERRORLEVEL% > %TEMP%\status
如果我不做输出redirect(进入%TEMP%\output.log和/或%TEMP%\error.log ),那么退出代码保存就好了。 但是,当我如上所示运行多行(只是返回到命令提示符中的前一行,并重新运行它),我得到0在%TEMP%\status无论真正的退出代码。
我错过了什么? 或者也许有更好的方法呢?
你正在做的事情不会保存退出代码,因为你没有捕获它。 最简单的方法是从batch file中运行命令。 正常redirect输出并使batch file将ERRORLEVEL值保存到第二个文件。