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)