batファイルで好きな位置まで移動できると色々と便利です。
そんな事出来ないと思っていませんか?
「goto」コマンドを使用すれば以外と簡単に可能だったので、ここに覚書します。
pythonやphpを使用して業務効率化やアプリやWebサイトを作成しております。batやjavaやシェルスクリプトなど様々なプログラミングを行った実績ありの筆者です。
batファイルでのgotoコマンドの使い方

batファイルで「goto」コマンドの基礎構文は以下のコードです。
@echo off
REM gotoコマンドでラベルを指定します
goto :ラベル1
飛ばしたい処理
REM ラベルを作成します
:ラベル1
ここに飛びます。

gotoコマンドの後に「:」をおいて自分の好きなラベルを指定します。
「:」の後にラベルを指定すればそこまで処理を飛ばす事が可能です。
batのgotoコマンドで最終行まで移動する方法

batファイルのgotoコマンドでもうひとつ便利な使い方をご紹介します。
ラベルを使用して最後の行まで移動する方法です。
つまりスクリプトを終える事が可能です。
@echo off
REM batの最終行まで飛びます
goto :EOF
飛ばす処理
このようにgotoコマンドでEOFラベルを指定します。
EOFというのはbatファイルの最後の行にある暗黙のラベルです。
これでファイルの最終行まで飛ぶ(スクリプトを終わらせる)事が可能です。
batのgotoコマンドを実際に使用してみた
では実際にbatファイルを作成して、gotoコマンドを使用して見ます。
@echo off
echo この行が最初の行です!
REM lastのラベルまで飛びます
goto :last
REM ここの行が表示されなければ成功です
:NUL
echo この行は不要です。
REM 最後に表示する文字
:last
echo この行が最後の行です!
REM batの最終行まで飛びます
goto EOF
REM ここの行が表示されなければ成功です
:NUL
echo この行もまた不要です。
batでgotoコマンドを使用したコード説明
まず「この行が最初の行です!」と表示をします。
gotoコマンドで「last」ラベルまで飛びます。
「この行は不要です」が飛ばされて表示されないはずです。
「last」ラベルを作成して「この行が最後の行です」と表示させます。
gotoコマンドで最後の行にある暗黙のEOFラベルを指定します。
最後の行に飛ぶはずなので「この行もまた不要です」が表示されないはずです。
では実行してみます。
batのgotoコマンドでエラーが出たので対処してみた
下のように「指定されたバッチ ラベルが見つかりません -EOF」というエラーが出ました。

コードをよく見るとEOFの前に「:」がないですね。
これがないとラベルと見てくれないのでしっかり「:」をつけましょう。
という事で修正したコードをもう一度実行します。
@echo off
REM startのラベルを張ります
:start
echo この行が最初の行です!
REM lastのラベルまで飛びます
goto :last
REM ここの行が表示されなければ成功です
:NUL
echo この行は不要です。
REM 最後に表示する文字
:last
echo この行が最後の行です!
REM batの最終行まで飛びます
goto :EOF
REM ここの行が表示されなければ成功です
:NUL
echo この行もまた不要です。
batファイルの実行結果は

先程のエラーがなくなり想定通りの結果となりました。
まとめ:batのgotoコマンドで指定したラベルまで移動する方法

batファイルでgotoコマンドの使い方の基礎は以下のコードです。
@echo off
REM gotoコマンドでラベルを指定します
goto :ラベル1
飛ばしたい処理
REM ラベルを作成します
:ラベル1
ここに飛びます。
gotoコマンドの後にラベルを指定する。
ラベルを作成してここまで飛ばせる
またbatファイルの最後まで飛ばすには以下のコードを使用すれば簡単です。
@echo off
REM batの最終行まで飛びます
goto :EOF
飛ばす処理
ラベルに暗黙のEOFを指定すれば、コードの最後まで飛べる。
batファイルでgotoコマンドを使えば好きな箇所に飛べるので便利です。