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 環境でのみ機能します。