c# - 在 Windows 资源管理器中打开文件夹结构时,DirectoryInfo.Delete(True) 不会删除

标签 c# .net vb.net directoryinfo

假设我的文件夹结构如下:

C:\MyTemp
   - MySubFolder

If I try to delete this using:

Dim path As String = "C:\MyTemp"
Dim di As System.IO.DirectoryInfo
di = System.IO.Directory.CreateDirectory(path)
di.CreateSubdirectory("MySubFolder")
di.Delete(True)

这工作正常,除非我打开 Windows 资源管理器 并且我正在查看“MySubFolder”目录。然后我得到一个 IOException The directory is not empty. - 单击 OK 关闭它,然后文件夹结构不会被删除。

关于如何使它正确执行(即删除)的任何想法,即使在运行此代码时在 Windows 资源管理器中打开文件夹结构时也是如此?

最佳答案

唯一能让它 100% 始终如一地“工作”的方法是用核弹浏览器(坏主意)或核弹 handle (also bad idea)

我的建议是优雅地处理失败,而不是尝试这样做。

关于c# - 在 Windows 资源管理器中打开文件夹结构时,DirectoryInfo.Delete(True) 不会删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4102638/

相关文章:

vb.net - 如何判断 SubmitChanges() 是否会实际更改 LINQ to SQL 中特定实体的任何内容

.net - 在.NET中,即使不是必需的,使用属性后缀是否更快?

c# - 与使用 Interlocked 类相比,使用 volatile 关键字有什么优势吗?

VB.NET 仅获取日期中的年份

c# - 如何从数据库中设置 radcombobox 选定值?

c# - 如何在 C# 中监控文件访问

.net - 如何使用客户端证书/相互身份验证调用 Web 服务?

c# - MVC删除过程

c# - 即使控制台应用程序退出,线程也保持事件状态

c# - 将剪贴板内容存储到字节数组?