バッチファイル | if~else文で条件分岐をする方法

2023-09-12バッチファイル 基本,コマンドプロンプト

バッチファイル | if~else文で条件分岐をする方法

Windowsのコマンド・プロンプトを実行するバッチファイルにて、if文でelse、else ifでの条件分岐をする方法とサンプルコードを紹介しています。

確認環境
  • HP ノートパソコン HP 17s
  • OS Windows11 22H2

if文で条件分岐をする

バッチファイルでif文で条件分岐をするには「1f 条件式(処理)」をという記述方法になります。

以下のサンプルコマンドでは、バッチファイルの実行後にコマンドプロンプトを開き、数値の入力を求めています。
入力された結果が「0」の場合のみテキストを表示します。

@echo off
chcp 65001

set /p num=数字を入力してください: 

if %num%==0 (
    echo 入力された数字は 0 です。
)
PAUSE

if~else文で条件分岐をする

if~else文で条件分岐をするには「1f 条件式(処理) else (処理)」をという記述方法になります。

以下の場合、入力された数値が「0」の場合、または「0」以外の場合で、表示する結果を変更しています。

@echo off
chcp 65001

set /p num=数字を入力してください: 

if %num%==0 (
    echo 入力された数字は 0 です。
) else (
    echo 入力された数字は 0 ではありません。
)
PAUSE

if~else if文で条件分岐をする

else if文で条件分岐に含める場合は「1f 条件式(処理) else if (処理)」をという記述方法が可能です。

以下の場合、入力された数値が「0」の場合、「1」以外の場合で特定のテキストを表示し、それ以外の場合は最後にelse文で結果を表示するようにしています。

@echo off
chcp 65001

set /p num=数字を入力してください: 

if %num%==0 (
    echo 入力された数字は 0 です。
) else if %num%==1 (
    echo 入力された数字は 1 です。
) else (
    echo 入力された数字は 0 または 1 ではありません。
)
PAUSE

「chcp 65001」コマンドは日本語を含むマルチバイト文字を文字化けさせない為に記述しています。
「PAUSE」コマンドはバッチファイルを実行後、コマンドプロンプトを起動したままにします。