在我的应用程序(VB6和C#2008)上,在Windows 2003上两次,我看到有关删除包含文件的文件夹的类似行为。我的代码将构建一些临时文件夹,并在该文件夹中生成文件以供后续处理。处理完成后,我的代码将尝试删除生成的临时文件夹。删除操作完成且没有错误。
但是,经过进一步检查,您可以看到该文件夹仍存在于Windows资源管理器中。尝试浏览此文件夹会导致权限被拒绝错误。稍后该应用程序将处理另一轮文件并尝试再次创建临时文件夹。不幸的是,之前的Pending Delete尚未完成,因此尝试再次创建文件夹会导致权限被拒绝错误。在关闭我的应用程序之前,该文件夹并未真正删除。应用程序关闭后,文件夹即被删除。为什么在应用关闭之前我的文件夹删除操作没有提交?
答案 0 :(得分:0)
我想知道 - 您是否有可能意外地保留了该目录的锁定?这可以解释为什么在您的应用程序离开之前无法删除该目录。
有一些工具 - 尝试SysInternals - 它将列出文件/目录锁。试试你的应用,然后看看它是否保留锁定。我想你可以强行删除那个锁 - 看看目录是否会立即消失。