• ベストアンサー

複数の処理の終了を待ちたい

お世話になります。以下、教えていただけますでしょうか? バッチファイル(A.bat)を作成しています。 そのなかで、a,b,c,dの複数のプログラムを、前処理の終了を待たずに起動させ、a,b,c,d全てが終了するのを待って、eというプログラムを実行させたいのです。 --------------- start a start b start c start d --------------- この記述で、a,b,c,dが一度に起動することは確認できました。 しかし、この後の、「a,b,c,d全ての終了を待ってeを起動させる方法」というのが分かりません。 教えていただけますでしょうか? それとも、そもそも、バッチでは実現不可能なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • cbd_mei
  • ベストアンサー率55% (143/259)
回答No.4

パッと思いつくのが下のような処理でした。 各バッチファイルの最後に以下の処理を追加する。 ・終了したことを示すファイルを作るようにする ・各バッチファイルが作成した4つのファイルの存在を確認して存在していた場合は   最後のバッチファイルを実行するようにする(そして4つのファイルを削除する)  4つの存在が確認できない場合はそのまま終了する これで実現可能だと思いますが、複数のバッチが同時に終了してしまった場合に どのような挙動になるかが分かりません。こればっかりは確認するしかないと思います。

uhyahyahya
質問者

お礼

いろいろ調べてみましたけど、やっぱり何らかのプログラムを組むしかないようですね。ありがとうございました。

その他の回答 (3)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.3

>前処理の終了を待たずに起動させ、 見落としてました。 私のレスはスルーしてください。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

バッチファイルではないですが・・・。 http://msdn.microsoft.com/ja-jp/library/cc364421.aspx

  • eroermine
  • ベストアンサー率18% (83/444)
回答No.1

プログラム a,b,c,d が 終了を e に通知するメッセージ通信をしなければなりません。 あるいは e (を起動するプログラム) が a,b,c,d の実行終了を監視する。 あるいは a,b,c,d がなんらかのファイルを占有し、その開放を待って e が起動する。 バッチで不可能というよりも Windowsの標準機能ではない。 ただしそれが可能なプログラムを作成するのは難しくありません。 Cで百行くらい

uhyahyahya
質問者

お礼

いろいろ調べてみましたけど、やっぱり何らかのプログラムを組むしかないようですね。ありがとうございました。

関連するQ&A