Batch file 报告无法删除到DEL批处理文件中的文件
如果DEL命令无法正确执行,如何创建报告文件 我本以为你会这么做:Batch file 报告无法删除到DEL批处理文件中的文件,batch-file,echo,delete-file,Batch File,Echo,Delete File,如果DEL命令无法正确执行,如何创建报告文件 我本以为你会这么做: DEL FILENAME.TXT ECHO "FILENAME.TXT" >> REPORT.TXT 但它所做的只是生成一个空报告文件,而不管它是否找到FILENAME.TXT。我想创建一个报告文件,如果由于任何原因无法删除FILENAME.TXT,弹出的消息将转储到report.TXT中 有什么想法吗 即使找不到文件或文件需要管理员访问,Del命令始终返回错误代码0,因此您需要在尝试删除文件后检查文件是否仍然存在
DEL FILENAME.TXT ECHO "FILENAME.TXT" >> REPORT.TXT
但它所做的只是生成一个空报告文件,而不管它是否找到FILENAME.TXT。我想创建一个报告文件,如果由于任何原因无法删除FILENAME.TXT,弹出的消息将转储到report.TXT中
有什么想法吗 即使找不到文件或文件需要管理员访问,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)
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)
仅供参考。如果发生严重错误,DEL命令确实会返回错误代码,但是它的行为远远超出了我们的直觉,即人们会简单地认为错误代码根本不起作用 这是我在Windows 7的DEL命令中测试的:
- 成功删除所有文件:0(当然)
- 已删除某些文件,缺少某些文件:0(1)
- 由于没有权限或只读介质,删除失败:0(0)≥ (一)
- 驱动器不存在或驱动器未准备就绪(例如CD-ROM驱动器上没有CD):1(是的,您得到了它,但我预计会有更高的错误代码)
- 无效路径:1(我也希望有更高的错误代码)
而且,如果您指定一个要删除的文件列表命令,其中至少有一个文件符合上面提到的最后两种错误,那么列表中的任何文件都不会被删除。仅供参考。如果发生严重错误,DEL命令确实会返回错误代码,但是它的行为远远超出了我们的直觉,即人们会简单地认为错误代码根本不起作用 这是我在Windows 7的DEL命令中测试的:
- 成功删除所有文件:0(当然)
- 已删除某些文件,缺少某些文件:0(1)
- 由于没有权限或只读介质,删除失败:0(0)≥ (一)
- 驱动器不存在或驱动器未准备就绪(例如CD-ROM驱动器上没有CD):1(是的,您得到了它,但我预计会有更高的错误代码)
- 无效路径:1(我也希望有更高的错误代码)
而且,如果您指定要删除的文件列表命令,其中至少有一个文件符合上面提到的最后两种错误,则列表中的任何文件都不会被删除。问题可能是一个问题可能是一个感谢Elektro。我已经编写了一个检查是否存在的批处理文件来跟踪它,但是我想知道DEL命令是否有一种内置的报告结果的方法。我会用我的支票,如果存在的话,谢谢!np我很乐意帮助您,但如果我的答案解决了您的问题,请确保使用“接受”按钮接受我的答案,谢谢。完成。对不起,这是一个新网站。谢谢Elektro。我已经编写了一个检查是否存在的批处理文件来跟踪它,但是我想知道DEL命令是否有一种内置的报告结果的方法。我会用我的支票,如果存在的话,谢谢!np我很乐意帮助您,但如果我的答案解决了您的问题,请确保使用“接受”按钮接受我的答案,谢谢。完成。很抱歉,这个网站比较新。非常好!我知道前3项,但不知道第4项和第5项,也不知道你最后的陈述。测试很好,非常好!我知道前3项,但不知道第4项和第5项,也不知道你最后的陈述。很好的测试。