MS-DOSのバッチファイルでサブルーチンを使う

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

Google サイト内検索

Amazonアソシエイト