Batch-script-if-else-statement
バッチスクリプト-If/elseステートメント
次の意思決定ステートメントは、If/elseステートメントです。 このステートメントの一般的な形式は次のとおりです。
このステートメントの一般的な機能は、最初に「if」ステートメントで条件が評価されることです。 条件がtrueの場合、その後ステートメントを実行し、else条件の前に停止してループを終了します。 条件がfalseの場合、elseステートメントブロック内のステートメントを実行し、ループを終了します。 次の図は、「if」ステートメントのフローを示しています。
変数の確認
バッチスクリプトの「if」ステートメントと同様に、if-elseは、バッチスクリプト自体に設定されている変数のチェックにも使用できます。 「if」ステートメントの評価は、文字列と数字の両方に対して実行できます。
整数変数の確認
次の例は、数値に「if」ステートメントを使用する方法を示しています。
例
上記のプログラムについて注意すべき重要なことは-
- 各「if else」コードは括弧()に入れられます。 「if and else」コードのコードを分離するために角かっこが配置されていない場合、ステートメントはif elseステートメントの有効なものではありません。
- 最初の「if else」ステートメントでは、if条件がtrueと評価されます。
- 2番目の「if else」ステートメントでは、条件がfalseと評価されるため、else条件が実行されます。
出力
上記のコマンドは、次の出力を生成します。
文字列変数の確認
同じ例を文字列に対して繰り返すことができます。 次の例は、「if else」ステートメントを文字列に使用する方法を示しています。
例
上記のプログラムについて注意すべき重要なことは-
- 最初の「if」ステートメントは、変数str1の値に文字列「String1」が含まれているかどうかを確認します。 その場合、コマンドプロンプトに文字列がエコーされます。
- 2番目の「if」ステートメントの条件がfalseと評価されるため、ステートメントのエコー部分は実行されません。
出力
上記のコマンドは、次の出力を生成します。
コマンドライン引数の確認
「if else」ステートメントは、コマンドライン引数のチェックにも使用できます。 次の例は、「if」ステートメントを使用してコマンドライン引数の値を確認する方法を示しています。
例
出力
上記のコードがtest.batというファイルに保存され、プログラムが次のように実行される場合
以下は上記のプログラムの出力です。
定義されている場合
「if」ステートメントの特殊なケースは「if defined」であり、変数の存在をテストするために使用されます。 以下は、ステートメントの一般的な構文です。
次に、「if defined」ステートメントの使用方法の例を示します。
例
出力
上記のコマンドは、次の出力を生成します。
存在する場合
「if」ステートメントのもう1つの特殊なケースは「if exists」です。これは、ファイルの存在をテストするために使用されます。 以下は、ステートメントの一般的な構文です。
「if exists」ステートメントを使用する方法の例を次に示します。
例
出力
Cドライブにset2.txtというファイルがあり、set3.txtというファイルがないと仮定します。 次に、上記のコードの出力を次に示します。