查看以下命令:为什么 a 的值在 ? 之后不可用&
?
C:\>set a=
C:\>set a=3&echo %a%
%a%
C:\>echo %a%
3
C:\>set a=3&echo %a%
3
但是当我这样做时
C:\>set a=
C:\>set a=3&set
a=3 包含在列出的变量中!
我需要这个来获得我在这里学到的一个技巧,即使输出是管道的,也要获取命令的退出代码: Windows 命令解释器:如何获取第一个管道命令的退出代码, 但我必须在 make 脚本中使用它,这就是为什么一切必须在一条线上!这就是我想要做的:
target:
($(command) & call echo %%^^errorlevel%% ^>$(exitcodefile)) 2>&1 | tee $(logfile) & set /p errorlevel_make=<$(exitcodefile) & exit /B %errorlevel_make%
但errorlevel_make 始终为空(带有退出代码的文件存在并且包含正确的退出代码)。
这是cmd中的错误吗?有什么想法我能做什么?