Windows 机密: 无极限 …排序

资源管理器目录可以处理的文件的最大数量是什么? 并没有硬性限制 — — 它是只耐心。

Raymond Chen

已要求多个客户,"资源管理器将支持目录中文件的最大数量是什么?"事实是没有特定的文件夹中的项目数限制。 地址空间和您的耐心表示,基本上是唯一一个真正的限制。

Windows XP 必须检索并排序文件夹中的所有项目,才能在该文件夹中显示的任何内容。 对于大文件夹,这会导致较长的延迟。 您将时间长,有任何内容,然后 — 繁荣 — 一切都显示。 Windows Vista 和 Windows 7 加载该文件夹的内容以递增方式这是有利有弊。

它很好的因为您会看到内容,只要它们变得可用。 它已损坏,因为它意味着内容是不稳定,而您正在阅读它们。

正在加载加载

您将看到加载的第一次几百个项目。 然后接下来几百个项目显示,并且与由于要排序条件的第一个一百个交错执行其中的一部分。 然后下一步的一百个,这时事情无序播放更多的周围。 如果您正在尝试单击的一个项目,是令人沮丧当视图不断刷新,并移动您正试图为目标的项目。

大型文件夹的后果之一是您可以运行的地址空间不足。 然后您可以开始有点儿古怪错误消息。 由于未能缺少的地址空间的安全检查将抗故障,并拒绝访问。 当您看到的错误消息,"访问被拒绝,"可能会说,"我不懂。 我应具有访问权限。"然后也许您等待一段时间后重试,且它成功。

我们有时会显示以下类似内容的人收到的问题:"我们有 1.8 万个文件,我们发现我们浏览到该文件夹时,将资源管理器的 CPU 使用率将为 50%。 该接口保持响应。 我们可以围绕滚动以查看结果,但有时变得有点 wonky。

我为类似这样的反应是:"您是方式之外什么资源管理器可以轻松处理。"如果您要求资源管理器可以跟踪的 1.8 万个项目,则几乎不可能避免高 CPU 和内存使用情况。 计数为 1.8 万花费的时间,尤其是如果您有分配内存来跟踪的所有那些 1.8 万个项目只是已计算在内。

另一个客户承认"dir /s"命令在整个驱动器上的花了七天才能完成。 若要将结果保存甚至没有"dir"命令。 只可将它们打印到屏幕并丢弃信息。 谁知道,也许有一天实现"dir /s"命令将其结果将被放弃,跳过最后一个目录和显示最后 50 个文件。

实际上,NTFS 本身可以处理大量的文件。 它是尝试操作的那些经常遇到麻烦的文件列表的程序。 如果您有数百万个文件,资源管理器可能不是该作业的最佳工具。 您应该使用应用程序,专门从事管理大量的文件,某种东西名副其实像一个文档管理系统。

在给定此说明,客户要求,"应期待设置 Ntfs 后的任何改善­禁用­最后一个­访问­更新和 Ntfs­禁用­8.3 文件名­名称­创建?"简单的事实客户问这个问题意味着他们不了解解释。

是否将 NTFS 更新上次访问时间并 NTFS 是否已启用短文件名不会改变这一事实仍有 1.8 万个文件。 如果您希望以枚举和分配内存来跟踪这么多的文件资源管理器,您打算在等待。

Raymond Chen

**Raymond Chen**Web 站点,旧的新内容,并具有相同标题为简介册 (艾迪逊-Wesley,2007年) 处理 Windows 历史记录、 Win32 编程和被盗的鼠标 — — 计算机类型。

相关内容