MENU

【Windows / コマンドプロンプト】YesとNoで処理を分岐する

目次

YesとNoで分岐するコマンド

「処理を開始しますか?(Y=YES / N=NO)?」と聞かれた際に、
「Y」もしくは「Yes」を入力すると、「yes01」という処理に飛ぶようになっています。

@echo off

REM ########## 処理実行の確認 ##########
SET /P selected="処理を開始しますか?(Y=YES / N=NO)?"
if /i {%selected%}=={y} (goto :yes01)
if /i {%selected%}=={yes} (goto :yes01)


REM ########## No 処理の中断 ##########
ECHO "No が選択されました。処理を中断し、プログラムを終了します。"
pause
EXIT


REM ########## Yes 処理の開始 ##########
:yes01
ECHO "Yesが選択されました。処理を開始します。"
REM この後ろにコマンドを書くことで、Yesを選択した場合のみに実行されるようなプログラムになる。

Yesを選択した場合のみ、処理を実行するプログラムを作るときはこちらをベースに作ると楽です。

YesとNoで2回分岐するコマンド

1つのバッチの中で分岐を何回も行いたい場合は以下のようにします。
1つ目の処理では、yesを選ぶと「yes01」に飛ぶように。
2つ目の処理では、yesを選ぶと「yes02」に飛ぶように。

名前が分かり易ければなんでもOKです。

@echo off

REM ########## 処理実行の確認 ##########
SET /P selected="1つ目の処理を開始しますか?(Y=YES / N=NO)?"
if /i {%selected%}=={y} (goto :yes01)
if /i {%selected%}=={yes} (goto :yes01)


REM ########## No 処理の中断 ##########
ECHO "No が選択されました。処理を中断し、プログラムを終了します。"
pause
EXIT


REM ########## Yes 処理の開始 ##########
:yes01
ECHO "Yesが選択されました。1つ目の処理を開始します。"
REM この後ろにコマンドを書くことで、Yesを選択した場合のみに実行されるようなプログラムになる。



REM ########## ここから追加 ##########



REM ########## 処理実行の確認 ##########
SET /P selected="2つ目の処理を開始しますか?(Y=YES / N=NO)?"
if /i {%selected%}=={y} (goto :yes02)
if /i {%selected%}=={yes} (goto :yes02)


REM ########## No 処理の中断 ##########
ECHO "No が選択されました。処理を中断し、プログラムを終了します。"
pause
EXIT


REM ########## Yes 処理の開始 ##########
:yes02
ECHO "Yesが選択されました。2つ目の処理を開始します。"
REM この後ろにコマンドを書くことで、Yesを選択した場合のみに実行されるようなプログラムになる。

よかったらシェアしてね!

この記事を書いた人

目次
閉じる