我有一个包含以下行的 .bat(批处理)文件,最后一行 echo 没有运行。
set outputfile=C:\DeployLog-label-test.txt
echo ----- Start File 1 of 1 ----- >> %outputfile%
pushd C:\src&ant -Dinifile=C:\repo\IR.ini -Dfilelist="label.xml" >> %outputfile% 2>&1&popd
echo ----- End File 1 of 1 ----- >> %outputfile%
是不是因为pushd命令? 请帮忙。谢谢。
最佳答案
不,在这种情况下,“问题”是 ant
是一个批处理文件,如果您从一个批处理文件(您的批处理文件)中调用另一个批处理文件,执行流程将转移到被调用的批处理,它不会返回给调用者。除非使用 call
命令调用第二个批处理文件。所以,你的代码应该是
pushd C:\src&call ant -Dinifile=C:\repo\IR.ini -Dfilelist="label.xml" >> %outputfile% 2>&1&popd
关于windows - PUSHD 命令后批处理文件 ECHO 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20653666/