首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >顺序调用CMD命令(WLST Python脚本)

顺序调用CMD命令(WLST Python脚本)
EN

Stack Overflow用户
提问于 2017-08-10 05:48:09
回答 1查看 1.2K关注 0票数 1

我知道,围绕着从批处理文件顺序调用shell命令存在许多问题。但是,我无法解决这个特殊的问题,主要是在调用Oracle ( WebLogic )脚本时。

我有一个批处理文件,在很高的级别上可以这样做:

  1. 将一些文件复制到指定的位置
  2. 启动Oracle WebLogic服务器
  3. 调用script1.py在管理服务器上配置某些内容
  4. 调用其他一些shell命令。
  5. 调用script2.py在管理服务器上配置其他内容

文件的片段:

代码语言:javascript
复制
:: set some paths
FOR /F "tokens=1,2 delims==" %%G IN (config.properties) DO (set %%G=%%H) 

:: copy files
call copyFiles.bat

:: start the server
start startWebLogic.cmd

:: execute script 1
set _JAVA_OPTIONS="-XX:MaxHeapSize=512m"
%WLST_PATH%\wlst.cmd script-1.py

:: some more DOS commands

:: execute script 2 
%WLST_PATH%\wlst.cmd script-2.py

问题在步骤3和步骤5中。每当wlst初始化并开始执行时,它就拥有控制台并开始在控制台上打印输出。一旦完成,它将根本不会执行下一个脚本命令。执行只是不时地停止。该控件仅在%WLST_PATH%中结束。

作为解决办法,我正在使用starttimeout命令。

代码语言:javascript
复制
:: execute script 1
set _JAVA_OPTIONS="-XX:MaxHeapSize=512m"
start /MIN wlst.cmd %WLST_PATH%\wlst.cmd script-1.py
timeout /t 40 /nobreak

:: some more DOS commands

:: execute script 2 
start /MIN wlst.cmd %WLST_PATH%\wlst.cmd script-2.py
timeout /t 40 /nobreak

我也尝试过使用call,但是它没有帮助,它导致了与上面提到的相同的问题。有更好的方法吗?我想要的是,所有这些命令都应该按顺序执行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-30 05:36:32

正如eryksun所建议的那样,通过以下方法解决了这个问题:

代码语言:javascript
复制
cmd /c ""%WLST_PATH%\wlst.cmd" script-1.py"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45605411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档