2

DEL コマンドが正しく実行されなかったレポート ファイルを作成するにはどうすればよいですか?

私はあなたがするだろうと思っていたでしょう:

DEL FILENAME.TXT ECHO "FILENAME.TXT" >> REPORT.TXT

ただし、FILENAME.TXT が見つかるかどうかに関係なく、空のレポート ファイルを作成するだけです。何らかの理由で FILENAME.TXT の削除に失敗した場合にポップアップするメッセージが REPORT.TXT にダンプされるレポート ファイルを作成したいと考えています。

何か案は?

4

2 に答える 2

0

Del コマンドは、ファイルが見つからない場合やファイルに管理者アクセスが必要な場合でも常にエラーコード 0 を返すため、ファイルを削除しようとした後にファイルがまだ存在するかどうかを確認する必要があります。

@Echo OFF

Set "File=File.txt"

Del "%File%" 2>NUL & If exist "%File%" (
    Echo [+] File failed to delete: "%File%" >> "Report.txt" 
)

Pause&Exit

大量のファイルの場合、次のように大きなコードを書かないようにする手順を作成できます。

@Echo OFF

Call :ReportDelete "C:\File1.txt"
Call :ReportDelete "C:\File2.txt"
Call :ReportDelete "C:\File3.txt"
Call :ReportDelete "C:\File4.txt"
Call :ReportDelete "C:\File5.txt"

Pause&Exit

:ReportDelete
(Del "%~1" 2>NUL & If exist "%~1" (Echo [+] File failed to delete: "%~1" >> "Report.txt")) & (Goto:EOF)
于 2013-04-24T00:01:52.600 に答える