如何防止Windows资源管理器缓慢读取文件内容来创建元数据?

如何防止Windows资源管理器缓慢读取文件内容来创建元数据?

我们的目录中有数百个视频文件。使用 Windows 资源管理器 (Windows 7 64 Pro) 浏览和重新排列这些目录时,资源管理器会变慢到无法使用的程度,占用 GB 的 RAM,并且在执行此操作时会抢占或减慢其他程序(如 Media Center)使用同一磁盘的速度。

与此同时,地址槽中会出现一个增长非常缓慢的绿条。

Explorer 似乎正在读取视频文件内容以生成缩略图或获取其他元数据。这对我们的目的没有用,所以我们想禁用此行为。如何做到这一点?


这些线程可能相关:


2014-04-14:建议和调查结果摘要

我认为目前我们对答案非常满意,其余症状与 Windows 资源管理器无关。因此,以下是建议摘要和我们了解到的其他一些事情。

一般注意事项

磁盘唤醒:长时间不使用后访问磁盘时最初速度缓慢可能是由于磁盘进入了睡眠状态。

磁盘错误:显然,如果存在强制重试的硬件错误,这将严重减慢 Explorer 和任何其他程序的速度。

磁盘争用:在同一驱动器上执行密集活动的其他程序显然会与 Explorer 争用并减慢 Explorer 显示驱动器内容的速度。如果 Explorer 只需要读取目录,则影响可能很小,但如果 Explorer 还需要读取每个文件的元数据,则争用问题将大大加剧。

防病毒软件的磁盘争用:Explorer 尝试读取元数据可能会促使 AV 软件首先读取并确认每个文件。考虑对受信任的文件类型(例如,Media Center 保存的 wtv 文件)禁用 AV。

资源管理器设置

禁用缩略图显示:“组织”→“文件夹和搜索选项”→“查看”→勾选“始终显示图标而不是缩略图”→按应用并关闭。

禁用收集特定于视频的元数据:罪魁祸首文件夹 → “属性” → “自定义” → 在“优化此文件夹:”下打开下拉菜单并选择“常规项目”→在“应用于所有子文件夹”下拉菜单下的框中打勾→按应用并关闭。

进一步禁用视频特定元数据的收集:在罪魁祸首文件夹的“详细视图”中,删除文件系统目录信息中不存在的基于视频文件元数据的任何列。这包括长度(持续时间)列,以及日期列(基于视频元数据,与文件系统的“创建日期”和“修改日期”列不同)。

在注册表中

禁用视频文件扩展名(如 wtv、mp3 等)的“属性处理程序”。当然,这将适用于整个系统,而不仅仅是特定目录。可以使用 RegEdit 或第三方程序 ShellExView 来实现。(有关详细信息,请参阅答案。)

有关缩略图和其他缓存的更多信息

我们注意到,在禁用缩略图和元数据后,当我们重新启用它们时,性能很快。(即:绿色的缓慢条没有返回。)这表明更改对缩略图缓存产生了影响,可能删除了它们,然后又重建了它们。事实证明,默认情况下,Explorer 会将缩略图保存在每个目录(thumbs.db 中)中,也会保存在用户的 AppData\Local\Microsoft\Windows\Explorer 目录中的一组 thumbcache*.db 文件中。这些文件可能会变得臃肿或变慢,删除它们可能会加快操作速度。

我们不知道 Explorer 是否缓存任何其他元数据信息(例如长度、日期、位置、保护等)。

其他互动

虽然不能归因于 Explorer 本身,但可能是有用的线索。

我们在任务管理器 > 资源监视器中注意到,Media Center 的行为不当,导致了大量磁盘活动:Media Center 组件 ehrec.exe 会无休止地循环读取特定视频文件集的几千字节数据(在一个驱动器上,大约有 200 个视频文件)。Media Center 似乎无法完成读取这些文件的元数据,只是继续尝试读取没有完整元数据的文件。就文件系统而言,这些文件似乎没有损坏(可以毫无问题地复制)。当我们要求 Explorer 显示此特定磁盘上的目录时,可以想象 Media Center 的活动争夺了磁盘访问时间。我们断开了此驱动器以进行其他测试。


感谢所有受访者。

答案1

最后更新:

楼主在他的问题帖中完整而简洁地总结了他的所有发现。我认为没有理由删除我的建议,但如果你想快速解决问题,我建议你阅读他的帖子而不是我的。


你应该尝试两件事:

  1. 在资源管理器中,单击“组织”->“文件夹和搜索选项”->“查看”->勾选“始终显示图标而不是缩略图”->按应用并关闭。

  2. 现在右键单击有问题的文件夹 -> “属性” -> “自定义” -> 在“优化此文件夹:”下打开下拉菜单并选择“常规项目” -> 在下拉菜单下的“应用于所有子文件夹”框中打勾 -> 按应用并关闭。这会将新的文件夹视图设置应用于所选文件夹及其包含的所有子文件夹。

我是德国人,因此有德语版的 Windows,所以上面的一些选项的翻译可能略有不同,但无论如何你都应该能够找到它们。

更新 1:

我认为您对元数据的理解是正确的。根据视频的编码方式,元数据可能位于开头、结尾,甚至中间某个位置(不过这种情况很少见)。我猜这些视频文件是用一些不寻常的属性编码的(您可能自己制作了它们?),这使得资源管理器从头到尾读取整个文件以提取元数据,如果文件夹中有许多大文件,这显然需要一段时间。我曾见过资源管理器读取大型 exe 文件的整个长度以在末尾显示嵌入的图标。

所以,我想你已经明白了,识别并禁用需要从资源管理器中的视图中提取元数据的列(连同禁用的缩略图)应该可以消除资源管理器读取这些文件的需要,这应该可以解决你的问题。

您可能不应该使用的列包括:拍摄日期(如您发布的链接之一中所述,拍摄日期与文件的创建日期有很大不同)、长度、分辨率、位置。

您可以安全使用的列是可以直接从文件系统目录中读取的属性,例如:文件创建日期、文件修改日期、大小、文件类型。

如果您确实需要对某些应该禁用的属性进行排序,我认为最实际的解决方案可能是寻找替代文件浏览器,并检查它是否能更好地处理这种情况。然后,您可以像平常一样使用资源管理器,并使用替代文件浏览器来处理您的视频文件夹。

您还可以从内置的命令行解释器 cmd 执行许多基本的面向文件的操作,它不关心元数据,可以成为复制、移动或删除文件和文件夹的简单而有效的工具。然后,您甚至可以使用批处理文件自动执行操作。但这很可能不是您要寻找的解决方案,因为 cmd 甚至没有图形用户界面。

更新 2:

我刚刚读了你的第二份更新,很高兴看到你的问题似乎已经解决(至少目前如此)。也许这真的只是缩略图缓存过于拥挤的问题。我可以想象,如果你频繁地将文件从一个文件夹移动到另一个文件夹,这些 thumbs.db 文件会变得越来越大。我怀疑它实际上会为文件夹中的每个文件在该缓存文件中保留一个缩略图。也许这些文件也存在某种垃圾收集机制,但你的情况是失败了。

因此,如果您将视频文件从一个文件夹移动到另一个文件夹,并且始终使用相同的文件夹(例如,不创建新的文件夹),也许我们已经找到了问题的根源......

如果您的系统将来再次出现相同症状,您可以尝试删除缩略图缓存。为此,您需要:

“windowskey + r” -> 输入“cleanmgr”并按回车键 -> 选择视频文件所在的驱动器(仅当您实际上有多个驱动器/分区时) -> 选择“清除缩略图缓存”或类似命令 -> 运行清理程序

答案2

有三个 GPO 设置在更改时可能会在计算机上全局实现您想要的行为。

在此处输入图片描述

为了到达那里,请从命令行启动组策略编辑器。

gpedit.msc

导航到以下节点。

User Configuration\Administrative Templates\Windows Explorer

内置文档可以帮助你了解每个设置的作用。

请注意,您需要管理权限才能更改 GPO 设置。

答案3

我的解决方案是间接得出的。我注意到 MKV 文件包含一个无法通过正常方式更改的“日期”,以便文件能够反映我获取它的时间,如文件属性中所示。无奈之下,我将 Windows 文件资源管理器中的列从“日期”更改为“创建日期”,然后设置查看选项以使其成为所有文件夹的默认设置。这不仅解决了我的排序问题,而且 GROD 也得到了解决。显然,不必深入研究每个文件的标记结构是解决此问题的原因。

答案4

我发现.mp3文件夹非常麻烦,每当我打开一个文件夹,它就会慢慢地填充文件。

我没有进入注册表,而是直接更改了默认播放器,即Open with-> Choose another app。我选择了 Pot Player,这也是我的默认视频播放器。

问题解决了,我再也看不到.mp3文件详细信息了,但它可以立即显示文件名。对我来说,Windows 11 的媒体播放器似乎是罪魁祸首,因为它读取元数据的速度非常慢。我一直打开索引和缩略图,因为其他一切都很好,只是.mp3文件夹非常慢。

相关内容