windows - PUSHD 命令后批处理文件 ECHO 不起作用

标签 windows batch-file command-line command

我有一个包含以下行的 .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/

相关文章:

java - 此 JVM 不支持 Jython CP720,因此不能在 python.console.encoding 中使用它

具有多个 OUT 参数的 Java 存储过程批处理

windows - 打开命令提示符窗口并更改当前工作目录

mysql - 使用 phpMyAdmin 在 Shell 上连接

linux - 使用 FOR/F %I IN () DO(复制)命令复制文件,文件包含空间

python - 如何在 Windows 上使用 nslookup 和 python 获取 IP 地址

windows - 在 Windows 中设置 cron 作业

java - 找不到/安装 libXtst.so.6?

java - 如何在 Windows 上测试运行 Memurai

windows - 批处理文件 "if not"错误