|
|
●DOS/Windowsのバージョン:WINXP/2000 すみません、以下のようなfor文で上手くエラーに飛ばないので解決策を教えて頂けませんか。 ファイル:aaa.txt ----中身---- 111.bat 222.bat ・・・ ----------------------------------------------- for /f %%i in (aaa.txt) do (call :lb1 %%i) goto end_repeat :lb1 set name1=%%1 if exist %name1% goto err1 goto :eof :end_repeat exit /b 0 :err1 echo エラー用文言 exit /b 11 ----------------------------------------------- <やりたいこと> ファイル[aaa.txt]を読み込み、レコードに仕込んだファイルが存在しなければエラーフラグ[err1]より戻り値11で終わりたい。 <問題点> 存在しないファイル名を読み込んだとき、一時的に戻り値が11になるが何故か終了せずに[aaa.txt]の終わりまで読み込み続ける。 例えば[aaa.txt]に登録しているパスが passA [存在] passB [存在しない] passC [存在] である場合に、動きとして[passB]を読み込んだ 時点で戻り値11を指定してfor文を終了したいのに そのまま[passC]を読み込んでしまい、戻り値が 0で正常終了してしまう。 <知りたいこと> call中に問題が発生した時に、任意の戻り値をもって異常終了としたい。 こんな感じです。 ご教授よろしくお願いします。 |
|
|