gpt4 book ai didi

windows - %ERRORLEVEL% 无法在单行上运行多个命令

转载 作者:可可西里 更新时间:2023-11-01 11:07:17 24 4
gpt4 key购买 nike

我正在尝试以下命令并希望退出我的process(%ERRORLEVEL%)。但它返回 previous(last) 执行 sample.exe 的退出代码结果。我想获取当前命令的退出代码。我的要求是在单行中执行多个命令*(不是批处理脚本)*。

命令:

cmd /c sample.bat "test" > c:\ouput.log & echo %ERRORLEVEL% > c:\returnCode.log

我什至尝试使用如下所示的“setlocal enableDelayedExpansion”。仍然没有返回当前命令的退出代码

cmd /c setlocal enableDelayedExpansion & sample.bat "test" > c:\ouput.log & echo %ERRORLEVEL% > c:\returnCode.log

请告诉我如何获取当前命令的退出代码。

最佳答案

这应该有效:

cmd /V:ON /c sample.exe "test" > c:\ouput.log ^& echo !ERRORLEVEL! ^> c:\returnCode.log

/V:ON开关与setlocal EnableDelayedExpansion效果相同。如需更多详细信息,请键入:cmd/?

编辑:修复了小错误,& 字符必须用^ 转义,否则,echo !ERRORLEVEL! 命令在 cmd/V:ON 中执行!!!

编辑:通过 ^> 转义 echo 重定向只会导致将 echo 通过管道传输到日志中。如果您不转义它,整个命令将通过管道传输到那里,即包括来自“sample.exe”的标准输出流。

关于windows - %ERRORLEVEL% 无法在单行上运行多个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27119257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com