在像这样的代码中
(
@echo before
<my .net build command line>
@echo after %ERRORLEVEL%
) >> mylog.txt
如果我的.net构建命令成功构建,我将所有内容写入mylog.txt。但是如果解决方案构建失败,则不会写任我知道errorlevel
为1(删除>> mylog.txt
进行测试)。我甚至想要输出失败写入日志。怎么处理这个?
答案 0 :(得分:2)
以下是该脚本的固定版本。
SETLOCAL ENABLEDELAYEDEXPANSION
(
@echo before
@rem [my .net build command line]
@ECHO AFTER !ERRORLEVEL!
) >> mylog.txt 2>&1
Squashman提到了延迟扩张问题。所以我不在这里解释。
2>&1
将STDERR重定向到STDOUT,然后将组合的STDOUT重定向到mylog.txt
。