batch fileECHO在PUSHD命令后不工作

我有一个.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% 

这是因为推命令? 请帮忙。 谢谢。

不,在这种情况下,“问题”是ant是一个批处理文件,如果从一个批处理文件(你的批处理文件)中调用另一个批处理文件,执行流程被转移到被调用的批处理,并且不会返回到呼叫者。 除非使用call命令完成第二个批处理文件的call 。 所以,你的代码应该是

 pushd C:\src&call ant -Dinifile=C:\repo\IR.ini -Dfilelist="label.xml" >> %outputfile% 2>&1&popd