|
|
●DOS/Windowsのバージョン↓ 2000SRV と XPhome ERRORLEVELの取得について質問なのですが for文で特定の名前のファイルを取得し取得分ループ ■ファイル名を特定の名前でコピー ■SQLserverのDTSを起動しファイルの内容をDBにINSERT ■■でコピーしたファイルを削除 ■取込元となったファイルを名前を変えて別フォルダへ保存 といった流れのDOSバッチを作成したいのですが 各処理で異常終了した場合、途中で処理を抜けるよう ERRORLEVELを取得して判断しようとしてるのですが ■~■の処理を単独でコマンドラインから行った場合と バッチで行った場合で返す値が違うのですが、書き方が おかしいのでしょうか? ソースは以下です。「■」とかは実際のソースには 記述していません。 @echo off setlocal enabledelayedexpansion for /f %%A in ('dir /b ..\..\ftp\recv\IA\TUKIBETU_????.csv') do ( ■copy /Y ..\..\ftp\recv\IA\%%A ..\..\ftp\recv\IA\TEMP.txt set EL=%errorlevel% echo ELv %EL% if %EL% NEQ 0 goto error ■dtsrun -S SRV2000 -U emc -P emc -N IAj_Busho_Gettrgval_WK_DTS set EL=%errorlevel% echo ELv %EL% if %EL% NEQ 0 goto error ■del ..\..\ftp\recv\IA\TEMP.txt set EL=%errorlevel% echo ELv %EL% if %EL% NEQ 0 goto error ■MOVE /Y ..\..\ftp\recv\IA\%%A ..\..\ftp\backup\IA\%%A取込済 set EL=%errorlevel% echo ELv %EL% if %EL% NEQ 0 goto error ) :nomal exit /b 0 :error exit /b 1 |
|
|