删除Windows不希望我删除的文件?

在我的公司,我们正在编写一个脚本来处理我们通常会手工完成的简单任务。 我正在使用c#删除c:\ documents和settings \中的configuration文件,只有几个。 这些将被简单地留下。 问题是,即使将代码设置为正常,并将pipe理员用户标记为所有者,也不会删除。 他们说快速启动文件夹的访问被拒绝。 我正在使用recursion权限更改方法,我知道它的工作原理。 与文件属性相同的东西。 为什么不行? 我该如何解决?

问题可能是其他进程已经打开这些文件或目录的句柄。 为了帮助您找出哪些进程是责任,您可以使用Process Explorer的“查找”功能来查找它们。

(只是要清楚:这不是关于如何编写代码来删除文件的建议,而是关于如何准确找出妨碍当前系统运行的建议。)

这可能不是权限问题,而是一个文件锁定问题。 这两个似乎是一个权限问题。

您可以通过从http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx下载Process Explorer工具来验证这是由文件锁定而不是访问控制引起的

以管理员身份运行并使用Find-> Handle或Dll查看是否被锁定。

否则,您应该能够获得所有权并授予访问权限,而不会出现问题。

这是非常棘手的,你将需要使用PInvoke调用本地API(我不确定哪些)。 解锁器 ,一个实用程序来解锁其他进程正在使用的文件。 它尚未与某些版本的Windows的Windows 7和64位版本一起工作。