Batch 選択コマンド作成
コマンドで選択した結果によってプログラムを実行するバッチファイルを作成する
また選択結果を元に必要な情報に変換してテキストファイルに出力するような仕様にする
■構成ファイル
- ApplicationRun.bat
メインバッチ
このファイルをダブルクリックして実行することにより「Env.bat」・「Output.bat」を読み込み、処理を実行する
- Env.bat
環境設定バッチ
動的に実行内容が変更できるようにコマンド選択を行う
- Output.bat
出力バッチ
「Env.bat」の選択結果を元に必要な情報に変換して「result.txt」ファイルに出力する
- result.txt
アウトプットファイル
「Output.bat」の出力結果
■バッチファイル内容
・ApplicationRun.bat
@echo off
rem 「Env.bat」を読み込み
call Env.bat
rem 「Env.bat」でリターンコードによって実行
if "%errorlevel%" equ "1" (
echo リターンコード:[%errorlevel%]
echo;
cmd /k
exit
) else if "%errorlevel%" equ "2" (
echo;
cmd /k
exit
)
rem 「Output.bat」を読み込み
call Output.bat
rem 「Output.bat」でリターンコードによって実行
if "%errorlevel%" equ "1" (
echo リターンコード:[%errorlevel%]
echo;
cmd /k
exit
)
pause
exit
・Env.bat
@echo off
echo ***** データベース番号を選択してください *****
echo;
echo Oracle:[1]
echo MySQL:[2]
echo;
set /p dbTypeNbr="データベース番号:"
echo;
if "%dbTypeNbr%" equ "1" (
set dbType=Oracle
) else if "%dbTypeNbr%" equ "2" (
set dbType=MySQL
) else (
echo 不正な番号が選択された為、処理を中断します
echo;
exit /b 1
)
echo;
echo ***** URL番号を選択してください *****
echo;
echo Google:[1]
echo Yahoo:[2]
echo;
set /p urlTypeNbr="URL番号:"
echo;
if "%urlTypeNbr%" equ "1" (
set urlType=Google
) else if "%urlTypeNbr%" equ "2" (
set urlType=Yahoo
) else (
echo 不正な番号が選択された為、処理を中断します
echo;
exit /b 1
)
echo;
echo ***** 確認 *****
echo;
echo データベース:%dbType%
echo URL:%urlType%
echo;
echo 上記設定でよろしいですか?
echo;
echo YES[1]
echo NO[2]
echo;
set /p answer=
echo;
if "%answer%" neq "1" (
echo 処理を終了します
echo もう一度最初から操作してください
echo;
exit /b 2
)
exit /b
・Output.bat
@echo off
rem データベース番号によるデータベース接続コマンドの分岐
if "%dbTypeNbr%" equ "1" (
rem 「Oracle」が選択されていた場合は変数にオラクル接続コマンドをセット
set db_con=sqlplus hogehoge/0000@service_name
) else if "%dbTypeNbr%" equ "2" (
rem 「MySQL」が選択されていた場合は変数にMySQL接続コマンドをセット
set db_con=mysql -u hogehoge -p0000
) else (
echo 不正な番号が選択された為、処理を中断します
echo;
exit /b 1
)
rem URL番号によるURL接続コマンドの分岐
if "%urlTypeNbr%" equ "1" (
set url_con=https://www.google.com/
) else if "%urlTypeNbr%" equ "2" (
set url_con=https://www.yahoo.co.jp/
) else (
echo 不正な番号が選択された為、処理を中断します
echo;
exit /b 1
)
rem result.txtに出力
echo データベース接続コマンドを出力
echo;
rem 前回出力した「result.txt」が存在する場合は上書きして出力
echo %db_con% > result.txt
echo URL接続コマンドを出力
echo;
rem 「result.txt」に追加出力
echo %url_con% >> result.txt
echo;
echo result.txtに出力完了
exit /b