分かりやすく、使いやすく。

IF 文で条件分岐する方法

スポンサーリンク

Windows のバッチファイル( *.bat )で IF 文を使って条件分岐する方法の説明です。

  1. IF の書式
  2. IF のサンプルコード
  3. IF ~ ELSE IF の書式
  4. IF ~ ELSE IF のサンプルコード
  5. IF ~ ELSE IF ~ ELSE の書式
  6. IF ~ ELSE IF ~ ELSE のサンプルコー


IF の書式

DOSコマンド
1
2
3
IF 条件式1 (
  REM 条件式1が TRUE の場合の処理を記述
) 

IF のサンプルコード

次のサンプルコードでは、コマンドプロンプトでユーザーからの入力を受け付け、入力内容が 1 だったら「1が入力されました」と表示するサンプルです。

DOSコマンド
1
2
3
4
5
6
7
8
9
10
11
12
@ECHO OFF
 
REM ユーザーからの入力を受け付ける
set /P USER_INPUT="半角数字を入力してください: %USER_INPUT%"
 
ECHO 処理開始
 
IF 1 EQU %USER_INPUT% (
  REM ユーザーからの入力が 1 の場合のみここの処理を行う。
  ECHO 1が入力されました
) 
ECHO 処理終了 

IF ~ ELSE IF の書式

DOSコマンド
1
2
3
4
5
6
7
IF 条件式1 (
  REM 条件式1が TRUE の場合の処理を記述
) ELSE IF 条件式2 (
  REM 条件式2が TRUE の場合の処理を記述
) ELSE IF 条件式3 (
  REM 条件式3が TRUE の場合の処理を記述
) 

IF ~ ELSE IF のサンプルコード

Windowsバッチファイルのサンプルコード
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@ECHO OFF
 
REM ユーザーからの入力を受け付ける
set /P USER_INPUT="半角数字を入力してください: %USER_INPUT%"
 
ECHO 処理開始
 
IF 1 EQU %USER_INPUT% (
  REM ユーザーからの入力が 1 の場合のみここの処理を行う。
  ECHO 半角数字の1が入力されました
 
) ELSE IF 2 EQU %USER_INPUT% (
  REM ユーザーからの入力が 2 の場合のみここの処理を行う。
  ECHO 半角数字の2が入力されました
 
) ELSE IF 3 LEQ %USER_INPUT% (
  REM ユーザーからの入力が 3 以上の場合のみここの処理を行う。
  ECHO 半角数字の3以上が入力されました
 
)
ECHO 処理終了 

IF ~ ELSE IF ~ ELSE の書式

DOSコマンド
1
2
3
4
5
6
7
8
9
IF 条件式1 (
  REM 条件式1が TRUE の場合の処理を記述
) ELSE IF 条件式2 (
  REM 条件式2が TRUE の場合の処理を記述
) ELSE IF 条件式3 (
  REM 条件式3が TRUE の場合の処理を記述
) ELSE (
  REM どの条件とも一致しない場合の処理を記述
) 

IF ~ ELSE IF ~ ELSE のサンプルコー

Windowsバッチファイルのサンプルコード
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@ECHO OFF
 
REM ユーザーからの入力を受け付ける
set /P USER_INPUT="半角数字を入力してください: %USER_INPUT%"
 
ECHO 処理開始
 
IF 1 EQU %USER_INPUT% (
  REM ユーザーからの入力が 1 の場合のみここの処理を行う。
  ECHO 半角数字の1が入力されました
 
) ELSE IF 2 EQU %USER_INPUT% (
  REM ユーザーからの入力が 2 の場合のみここの処理を行う。
  ECHO 半角数字の2が入力されました
 
) ELSE IF 3 LEQ %USER_INPUT% (
  REM ユーザーからの入力が 3 以上の場合のみここの処理を行う。
  ECHO 半角数字の3以上が入力されました
 
) ELSE (
  REM 全ての条件に該当しない場合のみここの処理を行う。
  ECHO どの条件に該当しない値が入力されました
 
)
ECHO 処理終了 
スポンサーリンク
スポンサーリンク