主に自分のメモ用途。

役に立つメモ書きを。

バッチファイルで、プログラムほぼ同時実行

<背景(具体的なケースで書いてみた)>
PRG1.bat: DBにアクセスしてデータを抽出してローカルで各種処理
PRG2.bat: DB更新用アカウントが入ってきたら、こちら側をDBログアウトさせる
上記のいずれもバッチファイルであり、(pythonで作った)プログラムを操作する。
PRG1の実行中にPRG2を併走させたい。
PRG1をダブルクリック後にPRG2をダブルクリックしてもいいのだけど、
できれば、一回のダブルクリックで済ませたい。


上記のような背景で役立ったのが、バッチファイルのstartコマンド。
startを使うと、startを使った行の処理を待たずに、次の処理に移る。
例えば、以下のintegration.batのように書く。


-------integration.batここから-----------
start PRG1.bat
start PRG2.bat
exit
-------integration.batここまで-----------

 

integration.batの
1、2行目でそれぞれのバッチファイルを動かしている。
また、3行目はintegration.batのコマンドプロンプト画面を消すためのもの。

 

なお、2個くらいならば、これでいいのだけれど、10個も20個もあるような場合は、バッチファイルのfor文で処理するのがいいと思う。