0

バッチ スクリプトを使用したタスクを探していました。

build.bat を呼び出すメイン バッチ スクリプトがあります。ビルド スクリプトが呼び出されると ( start cmd /k build.bat)、ビルドが実行されます。その後、メインに戻って残りのタスクを実行します。ビルドには非常に時間がかかります。

ビルドを開始して main に戻り、main でいくつかのタスクを完了して Build.bat に戻ることは可能ですか?

ありがとう !

4

3 に答える 3

1

そうではありません。並行して実行するメイン スクリプトの部分を抽出する必要があります。前後にホップすることはできません。

Main --> build task    --> more main
     --> part of main  |
于 2013-03-13T01:02:35.370 に答える
0

あなたはできます-ある意味で。

次のようなバッチを自分で設定しますWAIT4F.BAT

@ECHO OFF
:: Wait for file %1
IF "%~1"=="" GOTO :eof
:loop
IF NOT EXIST "%~1" choice /t 1 /d y /n >NUL&GOTO loop

挿入CALL WAIT4F filenameするだけで、別のバッチがファイルを作成するまで待機させることができます (おそらくステップの完了時)。

このようにして、並列プロセスがタスクを完了するまでバッチが一時停止するため、2 つ (またはそれ以上) のバッチを同時に実行できます。また、作成されたファイルには、バッチが通信できるようにするための情報 (たとえば、エラーレベルなど) を含めることができるという利点もあります。

個人的には、%temp% にフラグ ファイルを作成します。

また、Vista より前のバージョンを使用している場合PING -n 2 127.0.0.1 >nulは、CHOICE コマンドの代わりに使用します (これは単なる遅延です)。

于 2013-03-13T03:48:30.783 に答える
0

「コマンド ウィンドウ」はおそらくあなたが探している言葉ではありません。

しかし、はい、1 つの .bat ファイルが別の .bat ファイルを呼び出してから、最初のファイルに戻ることができます。

魔法は、子の .bat または .cmd ファイルを呼び出すときにキーワード「call」を使用することです。

PS:

ソフトウェアのビルドを行っている場合は、.bat ファイルを使用する代わりに「Makefile」スクリプトを使用することを検討することを強くお勧めします。私見では...

于 2013-03-13T01:02:58.050 に答える