@echo off
:start
rem ----- メイン処理 -----
echo "ここはstartルーチンです"
rem ----- キー入力で分岐 -----
echo.
set userkey=
set /p userkey=終了する (Enter) / メイン処理を再度実行 (o + Enter) / サブ処理を実行 (p + Enter) ?
if not '%userkey%'=='' set userkey=%userkey:~0,1%
if '%userkey%'=='o' goto start
if '%userkey%'=='p' goto exec
goto quit
rem ----- サブ処理 -----
:exec
echo "ここはexecルーチンです"
rem ----- 終了 -----
:quit
pause
ユーザーの入力により、処理を分岐するバッチファイルです。
set /pを利用することによって、ユーザー入力の値を変数に設定します。
set /p 変数=(画面表示内容) ?
そして、入力した変数の先頭1文字(set userkey=%userkey:~0,1%)だけをif文で比較し、分岐します。
また、分岐する先の各ルーチンは「:」(コロン)の後にルーチン名を付与します。
goto (ルーチン名)で各ルーチンに分岐することが出来ます。
c:\windows batch>test1.bat
ユーザーの入力により、処理を分岐するバッチファイルです。
set /pを利用することによって、ユーザー入力の値を変数に設定します。
set /p 変数=(画面表示内容) ?
そして、入力した変数の先頭1文字(set userkey=%userkey:~0,1%)だけをif文で比較し、分岐します。
また、分岐する先の各ルーチンは「:」(コロン)の後にルーチン名を付与します。
goto (ルーチン名)で各ルーチンに分岐することが出来ます。
c:\windows batch>test1.bat
"ここはstartルーチンです"
終了する (Enter) / メイン処理を再度実行 (o + Enter) / サブ処理を実行 (p + Enter) ?o
"ここはstartルーチンです"
終了する (Enter) / メイン処理を再度実行 (o + Enter) / サブ処理を実行 (p + Enter) ?p
"ここはexecルーチンです"
続行するには何かキーを押してください . . .
c:\windows batch>test1.bat
"ここはstartルーチンです"
終了する (Enter) / メイン処理を再度実行 (o + Enter) / サブ処理を実行 (p + Enter) ?
続行するには何かキーを押してください . . .

コメント