「:」 (ラベルの定義) - DOS/コマンドプロンプト コマンド一覧
バッチファイルにおいて、この記号(コロン)を文字列の先頭に置くことでラベルを定義します。
構文
:<any-string>
解説
ラベルは、バッチファイルでの処理にて条件分岐を行うのに用いられます。Gotoコマンドにこのラベル名を指定することで、バッチファイルの次の処理をラベルが定義されている行に移すことが出来ます。ラベル自身は実行しても何も効果がありません。
構文は C や BASIC、JavaScript などと異なり、コロン「:」を先頭に置くので注意してください。
なお、: 文字を含め、ラベルが定義されている行は実行に直接影響しないため、この構文をコメントを記述するためだけに使用している場合があります。(特に先頭にコロンを2つ以上並べると有効なラベルとしてジャンプすることができないため、安全にコメント文字として利用することができます。)
例
サンプル1 (バッチファイル)
foo.exe /test if errorlevel 1 goto Error echo 問題はありません。 goto End :Error echo 問題が見つかりました。 :End
コマンド「foo.exe /test」を実行し、If を利用して終了コードが「1」かどうかで条件分岐を行っています。
サンプル2 (バッチファイル)
goto %config% :mouse lh mouse.exe goto common :mouse_cd lh mouse.exe :cd lh mscdex.exe /D:CDROM1 goto common :common lh nlsfunc.exe country.sys
環境変数「config」の値によって条件分岐を行い、その値に合うラベルに条件が移ります。
なお、環境変数「config」には Config.sys で定義した実行モードが格納されます(この実行モードは「起動メニュー」によってユーザーによって選択されます)。上記のような記述方法は Autoexec.bat で用いられます。
サンプル3 (バッチファイル)
:: コメントです
:: これもコメントです
@echo off
echo こんにちは
「:」文字をコメントの開始文字として利用した例です。「:」文字で始まる行はエコーバックされず、Goto では「::」始まりのラベルにジャンプできないため、「::」とすれば完全にコメント文字として利用することができます。