我有一个运行ant的批处理文件,然后复制其中一个生成的文件:
ant -Dproject.version=1.1.2 release published
copy /Y D:\dir1\MyJar.jar D:\dir2\MyJar.jar
当我运行批处理文件时,ant运行成功,但是复制语句永远不会发生,虽然如果我输入它就可以正常工作,并在ant任务完成后按Enter键。
这里发生了什么?
答案 0 :(得分:46)
我遇到了同样的问题而魔法call
做到了。
在您的批处理文件中尝试:
call ant -Dproject.version=1.1.2 release published
copy /Y D:\dir1\MyJar.jar D:\dir2\MyJar.jar
但是,不能告诉你它为什么会起作用。猜猜这是微软的逻辑。
答案 1 :(得分:10)
当您从另一个批处理文件中调用一个批处理文件时(并不总是清楚),您应该使用CALL
(或call
),否则它更像goto
并且不会不会回到来电者那里。 ant
实际上是批处理文件ant.bat
吗?这应该适用:
CALL ant -Dproject.version=1.1.2 release published