HOWTO · Batch

バッチスクリプトで IF ELSE と GOTO を使用する

このチュートリアルでは、バッチスクリプトで IFELSE コマンドと GOTO コマンドを組み合わせる方法を示します。

このページの内容

この記事では、IF ELSE コマンドと GOTO コマンドを組み合わせて、理解を深めるための説明付きの例を提供することにより、これらのコマンドを連携させる方法を理解します。

バッチスクリプトで IF ELSE および GOTO ステートメントを使用する

IF ... ELSE は条件付きコマンドです。また、GOTO は、コードの特定の部分の実行をスキップできるキーワードです。

IF ... ELSE の一般的な形式は IF [CONDITION] [COMMANDS] ELSE [COMMANDS] であり、GOTO の一般的な形式は GOTO LABEL です。LABEL は、開始したい特定のポイントです。

この例では、2つの値の合計を作成し、それらが 20 未満であるかどうかを確認します。20 未満の場合、結果の値が 20 未満であることを示すメッセージが表示されます。

それ以外の場合は、メッセージが 20 より大きいというメッセージを表示します。

バッチスクリプト:

@echo off
SET /A x = 10
SET /A y = 25
SET /A z = %x% + %y%
ECHO The Sum of a and b is %z%
IF %z% LSS 20 ( GOTO :lessThan )
echo The result is greater than 20
GOTO :end

:lessThan
echo The result is less than 20

:end

SET /A x = 10 の行で、算術変数 x を作成し、それに値 10 を割り当てました。次の行 SET /A y = 5 で、別の変数 y を宣言し、それに値 5 を割り当てました。

SET /A z = %x% + %y%この行は、xy の合計の結果の値を保持する z である別の変数を宣言します。次の行の ECHO Sum of a and b is %z%は、xy の合計の結果の出力を示しています。

IF %z% LSS 20 ( GOTO :lessThan ) この行は、結果の値が 20 未満かどうかをチェックします。20 未満の場合は、次の行をスキップして、タグ lessThan から開始します。メッセージ The result is less than 20

それ以外の場合は、The result is greater than 20 というメッセージが出力され、GOTO :end という行を介して、コードは:end タグにジャンプします。

出力:

The Sum of a and b is 35
The result is greater than 20

この記事で説明するメソッドは、バッチスクリプトを使用して記述されており、Windows CMD 環境でのみ機能します。