0

別の 2 番目のバッチを呼び出す 1 番目のバッチ ユーティリティを実行しています。2 番目のバッチは、ファイルにパッチを適用する内部 Java コードを含む setup.cmd コマンドを呼び出します。

第 1 バッチから第 2 バッチを呼び出すと -

  1. 1 番目のバッチが 2 番目のバッチを呼び出す
  2. 2 番目のバッチは setup.cmd を呼び出します
  3. 最初のバッチは、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 に答える