前提・実現したいこと
バッチファイルでの質問です。
for文内で実行したcopyコマンドのエラーレベルの取得の仕方について、
ご教示頂きたく思います。
実現したいことは以下の①②となります。
①copyコマンドの実行結果を、変数としてCOPY_KEKKAに代入する
②copyコマンドのエラーレベルを、変数としてCOPY_ERRORLEVELに代入し、後続処理で利用する
①については、for文内でcopyコマンドを実行することで実現できたので、
②の実現方法について、質問させて頂いております。
発生している問題・エラーメッセージ
for文内で実行しているcopyコマンドがエラーとなった場合にも、
ERRORLEVELが"0"となってしまう。
該当のソースコード
・コピー先ファイルの"b.txt"を読み取り専用にし、copyコマンドが失敗するようにしている
・copyコマンドのerrorlevelをCOPY_ERRORLEVELに代入し、for文終了後にechoしている
setlocal enabledelayedexpansion for /f "usebackq delims=" %%a in (`copy /y a.txt b.txt 2^>^&1`) do ( set COPY_ERRORLEVEL=!ERRORLEVEL! set COPY_KEKKA=!COPY_KEKKA!%%a ) echo %COPY_ERRORLEVEL% endlocal
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。