コマンド別解説

ラベルとgoto(行の移動)

>>gotoのオプション簡易解説へ

目次

 

ラベルと「goto」コマンドの使い方

ラベルと「goto」コマンドを使うことで、バッチファイル内の好きな場所で移動することができます。ラベルが目印になり、「goto」コマンドで指定したラベルの場所に処理を飛ばします。

以下に使い方を示します。

「goto」コマンドの後に、引数として「:[ラベル名]」を指定することで、[途中のコード]を飛ばして「:[ラベル名]」の行まで移動できます。

例として、以下のバッチファイル(label_goto_test.bat)を作成しました。

4行目の「goto」コマンドで9行目のラベル「:test」まで移動しまします。したがって、6行目の「echo」コマンドによる出力は表示されないはずです。

以下、実行結果です。

ラベル「:」とgoto(行の移動)ラベルと「goto」コマンドの使用例

予想通りの結果が得られました。

 

特別なラベル「:eof」

通常、「goto」コマンドで指定したラベルはどこかに記述しておかなければいけません。当然ですが、プログラムがどこへ飛べばいいか分からないからです。

例えば、以下のようなバッチファイル(nolabel_goto_test.bat)はエラーになります。

以下、実行結果です。

ラベル「:」とgoto(行の移動)指定したラベルがない失敗例

 

しかし、「:eof」というラベルだけは特別です。「:eof」は、「end of file」の頭文字を取ったもので、ファイルの最後に移動するためのラベルです。したがって、「goto :eof」と指定すればバッチファイルの終了を意味し、ラベルが存在しなくてもエラーは起きません。

上記のバッチファイルのラベル「:test」を「:eof」に変えて実行してみましょう(nolabel_goto_eof.bat)。

以下、実行結果です。

ラベル「:」とgoto(行の移動)「eof」ラベルでプログラムを終了する

何も起こらず、バッチファイルが終了しました。

 

ラベルと「goto」コマンドは、よくサブルーチンを定義するときに使います。サブルーチンとは、処理をまとめておくことで、プログラムを分かりやすくしたり何度も同じ処理を書く手間を省いたりする役割を持ったものです。詳しくは「バッチファイルでサブルーチンを使用する -やりたいことから検索-」をご覧下さい。

 

Windowsバッチファイル初心者へ向けた入門書を作成しました


Windowsバッチファイル初心者の方へ向けた入門書(PDF)を作成しました。


・初めてWindowsバッチファイルを勉強してみようと思っている方

・使ったことはあるが一から基礎を学び直したい方


へ向けて丁寧な解説を行っています。


「全くプログラムを知らない方でも、この入門書を読んだ後には、Windowsバッチファイルの中級者レベルになれるように」をコンセプトに執筆したものです。


この本を読めば、バッチファイルを使ったファイルやフォルダの操作に関しては一通りのことができるようになります。そうなればもう十分中級者と呼べるレベルですので、あとは自分のやりたいことを実現しようとする中で徐々に知識を蓄えていくだけですぐに上級者へなれるでしょう。


詳しくみる

関連ページ

コメント

コメントを残す