执行jar后继续批处理文件

时间:2014-10-22 15:11:23

标签: java windows batch-file glassfish

我试图运行一个批处理脚本来创建一个新的glassfish域(v 3.1)和之后创建它将继续执行一些管理任务,比如删除其他目录或将文件复制到新创建的域。问题是,我必须等到glassfish安装脚本完成它的工作。我试图创建一个新窗口:

Start /WAIT "" asadmin --user admin --interactive=false create-domain   --adminport 4848  --instanceport 8080  --nopassword new_domain

并在同一个.bat文件中运行一些简单的命令(如xcopy,rd)。问题是,在asadmin脚本完成其工作后,新窗口不会关闭,但保持打开状态,整个脚本挂起等待作业终止。我可以手动关闭它,脚本继续流动,但这个解决方案并不令人满意。我甚至尝试修改asadmin.bat脚本以强制它在创建后以这种方式关闭:

%JAVA% -jar "%~dp0..\glassfish\modules\admin-cli.jar" %* && exit
exit

但它没有帮助。

2 个答案:

答案 0 :(得分:1)

由于评论已经建议您必须使用call而不是Start而且您不需要/WAIT标记:

echo "Start..."
call asadmin --user admin --interactive=false create-domain   --adminport 4848  --instanceport 8080  --nopassword new_domain
xcopy something...
// more

答案 1 :(得分:0)

使用call而不是Start

call asadmin --user admin --interactive=false create-domain   --adminport 4848  --instanceport 8080  --nopassword new_domain

当jar完成执行时,控制权返回批处理脚本。