### はじめに DOS-BATファイルから別のDOS-BATファイルを起動するには、色々な方法があります。 ```dosbatch hoge.bat start "" hoge.bat call hoge.bat ```これらの起動方法が、UNIXに於ける何と対応するのか、ということを簡単にまとめます。
### 解説
#### ①hoge.bat ```dosbatch hoge.bat ```これは、UNIXで言うところの **exec** に当たります。BATファイルを実行するとそちらに制御が移ります。
##### サンプル [test1.bat] ```dosbatch @echo off echo before hoge echo after ```[実行結果] ```dosbatch C:\work>test1 before hoge ```
#### ②start "" hoge.bat ```dosbatch start "" hoge.bat ```「START」で実行すると、UNIXで言うところの **fork** の動きになります。新しく「cmd.exe」が起動し、そちらでBATファイルが実行されます。
##### サンプル [test2.bat] ```dosbatch @echo off echo before start "" hoge echo after ```[実行結果] ```dosbatch C:\work>test2 before after ```(子窓) ```dosbatch C:\work>echo hoge hoge C:\work> ```※第一引数をダブルクォートで括るとBATファイル名ではなく、ウィンドウタイトルとして解釈されてしまうので注意。
必ず第一引数に""なりBATファイル名なりを入れておくようにしておくのが無難。
#### ③call hoge.bat ```dosbatch call hoge.bat ```「CALL」で実行すると、UNIXで言うところの **source** の動きになります。同じプロセスの中で処理が起動し、終了するとプロンプトに戻ってきます。
##### サンプル [test3.bat] ```dosbatch @echo off echo before call hoge echo after ```[実行結果] ```dosbatch C:\work>test3 before hoge after ```
### まとめ BATファイルの起動方法について、ざっくりと解説しました。細かいことは端折っていますが、気になる方には以下のヘルプが参考になると思います。 ```dosbatch cmd /? start /? call /? exit /? ```