sur*_*h d 1 windows command-line command batch-file command-prompt
我正在尝试下面的命令,并希望退出我的process(%ERRORLEVEL%).但它返回previous(last)执行的退出代码结果sample.exe.我想获得当前命令的退出代码.我的要求是在单行*(不是批处理脚本)*中执行多个命令.
命令:
cmd /c sample.bat "test" > c:\ouput.log & echo %ERRORLEVEL% > c:\returnCode.log
Run Code Online (Sandbox Code Playgroud)
我甚至尝试过使用"setlocal enableDelayedExpansion",如下所示.仍然没有返回当前命令的退出代码
cmd /c setlocal enableDelayedExpansion & sample.bat "test" > c:\ouput.log & echo %ERRORLEVEL% > c:\returnCode.log
Run Code Online (Sandbox Code Playgroud)
请告诉我获取当前命令退出代码的方法.
这应该工作:
cmd /V:ON /c sample.exe "test" > c:\ouput.log ^& echo !ERRORLEVEL! > c:\returnCode.log
Run Code Online (Sandbox Code Playgroud)
/ V:ON开关具有相同的效果setlocal EnableDelayedExpansion.有关详细信息,请键入:cmd /?
编辑:修复了小错误,&必须转义字符^,否则,echo !ERRORLEVEL!命令不会在cmd/V中执行:ON !!!