根据所属类型,ACL 中的访问控制项 (ACE) 有特定的优先顺序。例如,拒绝访问的 ACE 一般位于授予访问权的 ACE 之前。不过,我们无法防止某个程序编写按任意顺序安排 ACE 的 ACL。在 Windows 的一些早期版本中,当 Microsoft Windows 尝试读取这些“不规范”的 ACL 时会出现问题。有时,无法通过使用 Microsoft Windows 资源管理器图形化安全编辑器正确修改这些 ACL。此问题在 Windows 的更高版本中得到了纠正。如果您遇到了此问题,请使用最新版本的 Cacls.exe。即使无法显示或编辑一个现有的 ACL,也可以编写一个允许您访问该文件的新 ACL。
原因 2:该文件正在使用
如果文件正在使用中,则可能无法将其删除。要解决此问题,请确定具有打开句柄的进程,然后关闭此进程。
根据文件的打开方式(例如,以独占访问而不是共享访问方式打开),您可能无法删除使用中的文件。无论何时,您都可以使用多种工具来帮助确定拥有文件的打开句柄的进程。要进一步了解可帮助确定拥有文件打开句柄的进程的工具,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
许多 Windows 程序都预期最大路径长度少于 255 个字符。因此,这些程序仅分配足够的内部存储来处理这些典型路径。NTFS 没有此限制,它可以处理比这长得多的路径。
如果您在文件夹结构中一个已经相当深的位置创建一个共享,然后通过使用此共享在此位置之下创建一个深层结构,则可能会遇到此问题。某些在文件夹树上执行本地操作的工具可能无法遍历从根文件夹开始的整个文件夹树。您可能需要以特殊方式使用这些工具,以便它们能够遍历该共享位置。(CreateFile API 文档介绍了一种在此情形下遍历整个文件夹树的方法。)
Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems, Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems, Microsoft Windows Server 2003 Standard Edition, Microsoft Windows Server 2003 Datacenter Edition, Microsoft Windows Server 2003 Enterprise Edition, Microsoft Windows Server 2003 Web Edition, Microsoft Windows Small Business Server 2003 Premium Edition, Microsoft Windows Small Business Server 2003 Standard Edition, Microsoft Windows XP Professional Edition, Microsoft Windows XP Home Edition, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Professional Edition, Microsoft Windows Advanced Server, Limited Edition, Microsoft Windows Datacenter Server Limited Edition