在我的公司,我们正在编写一个脚本来处理我们通常会手工完成的简单任务。我正在使用c#删除c:\ documents和settings \中的配置文件,只有几个。这些将被简单地留下。问题在于即使将代码设置为正常并将admin用户标记为所有者,它们也不会被删除。他们说快速启动文件夹的访问被拒绝。我正在使用递归权限更改方法,我知道它的工作原理。与文件属性相同的东西。为什么它不工作?我该如何解决?删除Windows不希望我删除的文件?
回答
它可能不是权限问题,而是文件锁定问题。两者似乎都是权限问题。
文件锁定是通过将属性设置为正常来设置的属性,对吧? – user315881 2010-04-13 20:35:28
@ user315881:不,我的意思是文件被锁定了一个对文件具有锁定句柄的进程(通常意味着该文件已被写入)。除了通过获取锁的进程以外,您无法关闭它。 – Randolpho 2010-04-13 20:46:57
您可以使用名为* Unlocker *的小型实用程序检查锁定手柄是否会导致删除问题。它可以从网上免费下载。 – stakx 2010-04-13 20:56:55
这是非常棘手的,你将需要使用PInvoke调用本地API(我不确定哪些)。 Unlocker,解锁其他进程正在使用的文件的实用程序会执行此操作。它尚未与Windows 7和某些版本的Windows的64位版本一起使用。
Unlocker曾经很棒,但我认为它是在1.8.6中添加了一个后门特洛伊木马(这些'ebay'快捷键)。该网站声称,ebay快捷键已被删除,并用'bing toolbar'取代,但我仍然对使用它有所怀疑。 – 2010-04-13 20:45:28
是@Zach Johnson可悲的是这种情况 – TheVillageIdiot 2010-04-14 13:26:45
问题可能是其他进程已经打开这些文件或目录的句柄。为了帮助您找出哪些进程会受到责备,您可以使用Process Explorer的查找功能来查找它们。
(只是要清楚:这不是关于如何编写代码来删除文件的建议,但对如何找出到底是什么原因导致你目前的系统无法工作的建议)
你可以通过从http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
以管理员身份运行,并使用Find-> Handle或Dll来查看它是否被锁定来验证是否由文件锁定而不是访问控制造成的。
否则,您应该能够获得所有权并授予访问权限,以便在没有问题的情况下进行删除。
- 1. 删除功能是删除标志,但我不希望它删除徽标
- 2. 删除anaconda删除python3希望回到python2
- 3. 我希望删除模式ABC,不包含图案MNO的文件
- 4. Wix不会删除它的文件,如果我删除我的
- 5. 删除,项目不能删除文件
- 6. Python - 删除Windows文件夹
- 7. 我的删除功能不会删除目标文件
- 8. PHP(WINDOWS):删除文件和文件夹而不删除父目录
- 9. 如何删除\ /斜杠我只希望/在Drupal8 JSON输出
- 10. 删除文件,我选择
- 11. 删除文件
- 12. 删除文件
- 13. 删除文件
- 14. 删除文件
- 15. 删除文件
- 16. 删除文件
- 17. 删除或Windows
- 18. 删除文件孤儿删除
- 19. 如何删除Windows使用的文件?
- 20. 在windows上恢复删除的文件
- 21. Windows Cmd行删除命令删除除一个以外的所有文件
- 22. WPF不能删除文件
- 23. File.Delete不删除文件
- 24. FileManager.default.removeItem不删除文件
- 25. Java不删除文件
- 26. PHP - 不能删除文件
- 27. jquery删除()不删除
- 28. JQuery这删除不删除
- 29. 删除方法不删除
- 30. jQuery删除()不会删除
哪个API调用失败? – reuben 2010-04-14 07:43:27