Programming Field

「:」 (ラベルの定義) - 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 では「::」始まりのラベルにジャンプできないため、「::」とすれば完全にコメント文字として利用することができます。

関連項目