【バッチ】STARTコマンドとCALLコマンドの違い
先輩がフォルダ内の全バッチを連続起動(all.batからa.bat開始→終了後にb.bat)するバッチを作ったけれど終了待ちにtimeoutコマンドで60秒待たせてたのを見たからバッチ(というかプログラム)を起動するコマンドをまとめてみる
(実行順序が決まってて、0.2秒で終わるバッチと40秒かかるバッチが混在してるから60秒待たせたらしい…)
ちなみにその時のバッチ
start a.bat TIMEOUT /T 60 start b.bat
■START
* 新しいプロセスとして開始
* 前のバッチが正常終了orエラー終了を画面で見てOK出してから次のバッチに行きたい場合とか並列実行する場合はSTART
start /w a.bat start /w b.bat
a.batを手動で終了したらb.batが実行される
■CALL
* 同じプロセスで開始
* 確認無しで順次実行したい場合とかはこっち
call a.bat call b.bat
a.batが終了次第、そのままb.batが実行される
ちなみにCALLは戻り値が取れるのも利点。
失敗の場合はそこで強制終了とかできる。