我正在尝试运行一个批处理脚本来创建一个新的 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
但这并没有帮助。
最佳答案
正如评论已经建议您必须使用 call
而不是 Start
并且不需要 /WAIT
标志:
echo "Start..."
call asadmin --user admin --interactive=false create-domain --adminport 4848 --instanceport 8080 --nopassword new_domain
xcopy something...
// more
关于java - 执行jar后继续批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26510841/