goto

cmd.exe の処理をバッチ プログラム内のラベルの付いた行に移動します。 バッチ プログラム内で、ラベルで識別される行にコマンドの処理を移動します。 ラベルが見つかると、次の行で始まるコマンドから処理が続けられます。

構文

goto <label>

パラメーター

パラメーター 説明
<label> バッチ プログラムでラベルとして使われるテキスト文字列を指定します。
/? コマンド プロンプトにヘルプを表示します。

解説

  • コマンド拡張機能が有効な場合 (既定値)、ターゲット ラベル :EOF を指定して goto コマンドを使うと、現在のバッチ スクリプト ファイルの末尾に制御を移し、ラベルを定義せずにバッチ スクリプト ファイルを終了します。 :EOF ラベルを指定してこのコマンドを使う場合は、ラベルの前にコロンを挿入する必要があります。 (例: goto:EOF)。

  • label パラメーターにはスペースを使用できます。ただし、他の区切り記号 (セミコロン (;) や等号 (=) など) を含めることはできません。

  • 指定する label 値は、バッチ プログラム内のラベルと一致する必要があります。 バッチ プログラム内のラベルは、先頭にコロン (:) を付ける必要があります。 コロンで始まる行はラベルとして扱われるので、その行のコマンドは無視されます。 バッチ プログラムに label パラメーターで指定したラベルが含まれていない場合は、バッチ プログラムが停止し、 というメッセージが表示されます。

  • goto を他のコマンドと併用することで、条件付き操作を実行できます。 goto を使った条件付き操作の詳細については、if コマンドに関するページを参照してください。

次のバッチ プログラムでは、ドライブ A のディスクをシステム ディスクとしてフォーマットしています。 この操作が成功した場合、goto コマンドによって :end ラベルに処理が移ります。

echo off
format a: /s
if not errorlevel 1 goto end
echo An error occurred during formatting.
:end
echo End of batch program.

その他のリファレンス