Japanese / English
コマンドプロンプトのgoto文とラベル
gotoコマンドは指定したラベルにバッチファイルの制御を移します。

≪gotoコマンドの使い方≫
goto END ←①
...(実行文などがあって) ←②
:END ←③
←④

上記のように書きます。①のgotoコマンドで、制御を移したいラベル名をENDに指定します。
制御を移したい行(この場合④)の一つ上の行に コロン(:) をつけて END と書くと④に制御が移ります。
したがって②部分の実行文は実行されません。

ラベルはバッチファイルの一番上から探されて、見つかればそのラベルの次の行にバッチファイルの制御を移します。もしバッチファイル中に指定されたラベルが2つ以上書いてある場合は、一番上に書いてあるラベルにバッチファイルの制御が移ります。

≪ラベルが二つある場合≫
@echo off
goto END ←①´
echo 実行しない
:END ←②´
echo 実行する
goto :EOF ←③´
:END ←④´
echo 実行しない

①´でgotoコマンドによりラベルENDに制御を移します。
②´と④´にラベルENDがありますが、gotoコマンドはラベルをバッチファイル中の上から順に探すので②´でラベルが見つかります。④´のラベルは無視されます。
ラベルの一行下に制御が移るのでechoコマンドが実行され、コマンドプロンプトに「実行する」と表示されます。
③´の:EOFはバッチファイルの末尾を意味する特殊なラベルなので、ここでバッチファイルが終了します。バッチファイルを終了したい場合は、

goto :EOF

と書けば終了できると覚えておくと便利です。

コマンドプロンプトのラベル名について
ラベル名にはセミコロン(;)や等号(=)は使用できないとリファレンスに書いてますが問題なく使えるように思います。文字列中に空白を含むこともできます。
ただしラベル名は最大8文字なので、8文字以上のラベル名にした場合は最初の8文字がラベル名となります。

label0001
label0002
したがって上記のラベル名はいずれも label000 になります。

Back to top

Information
SEO対策 大阪  税理士 相談  税理士 守口市  税理士 大阪市  税理士 枚方市  自動車ガラス 神戸  シール印刷 神戸  ブリリアントアパートメント  株式会社CONFRAGE  英会話 個人レッスン 京都市右京区  京都市右京区西京区でマンツーマン英会話 
このページはCONFRAGEの著作物です。このページを複製・転載することを禁じます。CopyRight(C)2003-2016 CONFRAGE All rights reserved.