CHOICE コマンドが XP には、(・A・)ナイ! ので、コマンドラインでの Yes/No 分岐には
下記ロジック (「“Y” または “y” または “N” または “n”」 以外が入力された場合には Beep 音を発してループ、
再入力を促す処理を実装。) を使用する。
★YesNo.bat 内容
echo off
cls
echo.
rem <「実行します。宜しいですか? (Y/N) : 」 以前の説明が必要であれば echo でここに記述>
rem <共通の事前処理があればここに記述>
:start
set choice=
set /p choice=実行します。宜しいですか? (Y/N) :
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='y' goto main
if '%choice%'=='Y' goto main
if '%choice%'=='n' goto end
if '%choice%'=='N' goto end
echo
goto start
:main
rem <Yes 時に実行する処理をここに記述>
echo 完了しました。
pause
:end
rem <Yes/No 共通の事後処理があればここに記述>
exit
★実行結果キャプチャ
★DB2コマンドとの組合せ ―― SELECT 結果を CSV ファイルで出力する。
[test]
├[sql]
│ ├count.sql
│ ├list.sql
│ └RunSql.bat
└test.bat
☆test.bat 内容db2cmd sql\RunSql.bat☆sql\RunSql.bat 内容@echo off☆sql\count.sql 内容
cls
echo.
db2 connect to OurPrivateDB user db2admin using db2admin
db2 -tvf sql\count.sql
:start
set choice=
set /p choice=実行します。宜しいですか? (Y/N) :
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='y' goto main
if '%choice%'=='Y' goto main
if '%choice%'=='n' goto end
if '%choice%'=='N' goto end
echo
goto start
:main
db2 -tvf sql\list.sql > test.log
echo 完了しました。
pause
:end
db2 connect reset
exitselect count(*)
from R01_Record R01,M01_NameMaster M01
where R01.Code = M01.Code;
☆sql\list.sql 内容export to test.csv of del
select
R01.Code,
M01.Name
from R01_Record R01,M01_NameMaster M01
where R01.Code = M01.Code
order by R01.Code;
疲れた...._| ̄|○
でも、今日やっとかないと、明日 30 分早退できなくなっちゃうし。
ググって到着された方、お役に立ちそうでしたらお持ち帰り下さいまし....
