Windows 7 64ビットバッチファイルのエラーレベルをテストしても予期しない結果が返されない
ディレクトリから別のディレクトリにファイルをコピーしてからファイルを削除するバッチファイルを作成しています。バッチファイルが実行されたときに、コピーしようとしているファイルが別のプログラムによって書き込まれているときに、「別のプロセスによって使用されているため、プロセスがファイルにアクセスできません」というエラーが発生することがあります。私は、この状態でエラーレベルテストを行うことができることを期待していました。それが存在する場合、遅延にジャンプして再試行します。 IF ERRORLEVEL 1タイプのテストを私に与えることができません1条件を私は私の遅延にジャンプすることができます。私はerrorlevelの周りの%を使っていろいろな種類のバリエーションを試しました。私は、 "プロセスがファイルにアクセスできません..."というエラーを出すのを知っていても、非0の結果を出すようには見えません。私はこれが一度に働いたことを誓っていますが、なぜ私はそれがもはや働いていない理由を理解することができません。私は以下のはるかに単純なテストを試みても、それはゼロでないエラーレベルとして失敗した削除コマンドを表示しません。失敗した削除コマンドを受け取り、私が遅延にジャンプできるようにする適切なエラーレベルテストをどのように構築するのですか?
:start
copy c:\users\pc\documents\recordings\*.mp3 c:\recordings
del c:\users\pc\documents\recordings\*.mp3
if errorlevel 1 goto delay
goto start
:delay
echo delay
ping 1.1.1.1 > nul
goto start