将命令的输出和退出代码保存到 Windows 上的文件中

将命令的输出和退出代码保存到 Windows 上的文件中

我想运行一个命令并保存它的输出 它是退出代码,在不同的文件中。

这是我正在做的事情:

cmd.exe /C command 1> %TEMP%\output.log 2> %TEMP%\error.log && echo %ERRORLEVEL% > %TEMP%\status || echo %ERRORLEVEL% > %TEMP%\status

如果我不执行输出重定向(进入%TEMP%\output.log和/或%TEMP%\error.log),则退出代码会保存得很好。但是,当我运行上面显示的行时不止一次(只需返回命令提示符中的上一行并重新运行它),%TEMP%\status无论实际退出代码如何,我都会得到 0。

我错过了什么?或者也许有更好的方法可以做到这一点?

答案1

您所做的操作不会保存退出代码,因为您没有捕获它。最简单的方法是从批处理文件内部运行命令。正常重定向输出并让批处理文件将 ERRORLEVEL 值保存到第二个文件。

相关内容