Windowsコマンド虎の巻

goto

gotoは、バッチプログラム内で指定した箇所(ラベル)へ制御を飛ばすコマンドです。

構文

goto <:ラベル>

ラベルの先頭には、「:」を付けます。

【オプション】
オプション説明
/?コマンドのヘルプを表示する

サンプル

GOTOを使ったサンプル

(test.bat)

@echo off echo 出力1です。 goto :LBL echo 出力2です。 :LBL echo 出力3です。

(実行例)

c:¥>test.bat 出力1です。 出力3です。

「出力2です。」はGOTOによりスキップされるのが分かります。

GOTOをFOR文のように使うサンプル

(test2.bat)

@echo off set i=0 :LBL echo %i% set /a i+=1 if %i% lss 5 goto LBL
c:¥>test2.bat 0 1 2 3 4

最終行でカウンターが5未満の場合にGOTOで処理を戻すことで、FOR文のような動きとなっています。

備考

  • ラベル名は任意の名称を指定できます。
  • 「goto :EOF」とすると実行中のプログラムの最後まで移動(=バッチの終了)ができます。
    (:EOFラベルはデフォルトで定義済みなので、明示的に用意する必要はありません。)
  • 使用されていないラベルが存在しても特に問題はないため、コメントとしても使用されます。
    (例)ラベルを使用したコメント
     :この行はコメントです。