HOWTO · Batch
バッチスクリプトの IF ELSE 条件
このチュートリアルでは、バッチスクリプトでの IF ELSE 条件の構造について説明します。
このページの内容
この記事では、最もよく使用される IF ... ELSE 条件について説明し、IF ... ELSE コマンドに関する例を示します。
バッチスクリプトで IF ELSE 条件を使用する
IF ... ELSE コマンドの一般的な形式は、IF [CONDITION] [COMMANDS] ELSE [COMMANDS] のようなものです。例を挙げて、理解を深めるために説明しましょう。
この例では 2つの変数を合計し、結果が 20 未満かどうかを確認します。
バッチスクリプト:
SET /A x = 10
SET /A y = 5
SET /A z = %x% + %y%
ECHO Sum of a and b is %z%
IF %z% LSS 20 (echo The result is less than 20) ELSE (echo The result is greater than 20)
SET /A x = 10 の行で、算術変数 x を作成し、それに値 10 を割り当てました。次の行 SET /A y = 5 で、別の変数 y を宣言し、それに値 5 を割り当てました。
SET /A z = %x% + %y%この行は、x と y の合計の結果の値を保持する z である別の変数を宣言します。次の行の ECHO Sum of a and b is %z%は、x と y の合計の結果の出力を示しています。
最後の行 IF %z% LSS 20 (echo Result is less than 20) ELSE (echo Result is greater than 20) は、c の値が保持するかどうかをチェックする IF ... ELSE コマンドです。x と y の合計の結果の値は 20 未満です。結果が 20 未満の場合、Result is less than 20 と出力されます。それ以外の場合は、Result is greater than 20 と出力されます。
キーワード LSS を使用したことがわかります。このキーワードは Less Than を表す演算子であり、左側の値が右側の値よりも小さい場合に true を返します。
出力:
The result is less than 20
IF ELSE コマンドで使用できる演算子
IF ... ELSE コマンドでリレーショナル演算子を使用できます。
EQU- 等しいNEQ- 等しくないLSS- 小さめLEQ- 小さめ、もしくは等しいGTR- より大きいGTR- より大きい、または等しい
また、IF ... ELSE コマンドで使用できる論理演算子があります。
AND- 論理的なAND演算子OR- 論理的なOR演算子NOT- 論理的なNOT演算子
== も equals として使用できることに注意してください。その場合、キーワード EQU を使用する必要はありません。
ここで説明する例は、バッチスクリプトを使用して記述されており、Windows CMD 環境でのみ機能します。