我正在尝试运行一个批处理脚本,该脚本将创建一个新的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