调用setup.cmd并等待它完成

时间:2013-11-14 17:10:48

标签: batch-file wait

我正在运行第一批实用程序,调用另一个第二批。第二批调用setup.cmd命令,该命令具有内部Java代码以修补文件。

当我从第一批打电话给第二批时 -

  1. 第一批调用第二批
  2. 第二批调用setup.cmd
  3. 第一批继续使用更多代码,无需等待setup.cmd完成。
  4. 我尝试使用start / wait来调用setup.cmd,但这不会将控件返回到第一批。它会在安装后保留会话。

    第一批使用CALL调用第二批 第二批有以下代码来调用setup.cmd

    %windir%\system32\cmd /c start /WAIT Disk1\setup.cmd %parameter%
    

    如何在setup.cmd完成后将控件恢复到第一批?

2 个答案:

答案 0 :(得分:0)

如果你只是在没有启动命令的情况下使用它,call batch2那么它将等到它完成。

call Disk1\setup.cmd %parameter%

答案 1 :(得分:0)

上周通过使用循环和调用setup.cmd解决了这个问题...对不起这篇文章中的延迟。

@echo off
CALL \Installers\Disk1\setup.cmd -i silent -FILE=\Silent\Silent.txt

:LOOP

tasklist /FI "username eq SOMEUSER" 2>NUL | find /I /N "java">NUL
ECHO %ERRORLEVEL%

if "%ERRORLEVEL%"=="1" (
  GOTO CONTINUE
) ELSE (
  ECHO PATCH is still running, Sleeping for 5 Mins
  SLEEP 300
  GOTO LOOP
)

:CONTINUE