如何解决Directory.Delete失败时的完整路径
我偶尔有几个后台进程在Directory.Delete上失败(递归设置为true)。该异常表明该文件已在使用中。
我希望代码检查有问题的文件并记录阻止删除的进程。我知道,在删除失败和检查文件之间,该过程可能会消失。
问题是我需要文件的完整路径。当System.IO.File.Delete()失败时,IOException包含Exception消息中嵌入的有问题文件的完整路径,但是当Directory.Delete()失败时,仅显示文件名(在Exception消息中)。 / p>
例如,我打开excel并将空白电子表格保存为c:\ temp \ myDir \ MySubDir \ test.xlsx,然后我执行了Directory.Delete(@“ c:\ temp \ myDir”,true)而没有关闭优秀。错误消息只是说“ test.xlsx”(不完整或相对路径)已在使用中。
对于System.IO.IOException为什么没有属性来引用有问题的项目,我通常感到困惑,但是我想如果它在异常消息中,我可以使用绝对路径。
有人知道该怎么做吗?我想我可以重新实现一个Directory.Delete(),它将抛出一个更好的异常,但是这个问题对于没有人为它创建解决方案来说似乎太普遍了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。