1

在我的 Windows 2003 上的应用程序(VB6 和 C# 2008)中,我已经看到了关于删除包含文件的文件夹的类似行为。我的代码将构建一些临时文件夹并在该文件夹中生成文件以供后续处理。处理完成后,我的代码将尝试删除生成的临时文件夹。删除操作完成且没有错误。

但是,经过进一步检查,您可以看到该文件夹​​仍然存在于 Windows 资源管理器中。尝试浏览此文件夹会导致权限被拒绝错误。稍后应用程序将处理另一轮文件并尝试再次创建临时文件夹。不幸的是,之前的 Pending Delete 尚未完成,因此尝试再次创建该文件夹会导致权限被拒绝错误。在我关闭我的应用程序之前,该文件夹不会被真正删除。关闭应用程序后,该文件夹将被删除。为什么我的文件夹删除操作直到应用程序关闭才提交?

4

1 回答 1

0

我想知道-您是否可能不小心保留了对该目录的锁定?这可以解释为什么在您的应用程序离开之前无法删除该目录。

有一些工具——试试 SysInternals——会列出文件/目录锁。尝试您的应用程序,然后查看它是否保留锁定。我认为您可以然后强行删除该锁-然后查看目录是否立即消失。

于 2009-04-24T21:26:12.607 回答