0

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

当我从第一批中调用第二批时——

  1. 第一批调用第二批
  2. 第二批调用 setup.cmd
  3. 第 1 批继续执行更多代码,无需等待 setup.cmd 完成。

我尝试使用 start /wait 来调用 setup.cmd ,但这不会将控制权返回到第一批。它在安装后保留会话。

第 1 批使用 CALL 第 2 批调用第 2 批具有以下代码来调用 setup.cmd

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

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

4

2 回答 2

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
于 2013-11-23T06:18:55.553 回答
0

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

call Disk1\setup.cmd %parameter%
于 2013-11-14T23:07:28.020 回答