DOSバッチファイルは サブルーチンを作ることもできます。
1: @ECHO OFF 2: 3: CALL :HOGEHOGE 1 4: CALL :HOGEHOGE 2 5: CALL :HOGEHOGE 3 6: 7: GOTO :EOF 8: :HOGEHOGE 9: ECHO %1
上のバッチファイルを実行すると下のような出力結果になります。
C:\> TEST1.BAT 1 2 3
3〜5行目のCALLで8行目のHOGEHOGEラベルにジャンプします。 CALLは、バッチファイルの最後に来ると、呼び出し元に戻りますので、 3→8→9→4→8→9→5→8→9・・・と処理が移ります。
7行目の:EOFは、最初から設定されているラベルで、ファイルの最後を示しています。 5行目の処理の後に、 8行目に処理が移らないようにしています。
9行目で %1を使用して値を取得していますが、 CALLの呼び出しには引数を指定でき %1,%2・・・と入ってきます。
サブルーチンを複数使うときは、 下のように書きます。
@ECHO OFF CALL :HOGEHOGE1 1 CALL :HOGEHOGE2 2 GOTO :EOF :HOGEHOGE1 ECHO %1 GOTO :EOF :HOGEHOGE2 ECHO %1