我想索引未知文件类型的文件内容。此窗口允许您更改特定文件类型的设置,但我想避免对 Windows 无法识别的每个文件类型执行此操作。
我已经使用了注册表项
HKEY_CLASSES_ROOT\Unknown
但我不知道在这种情况下如何使用它。
答案1
什么时候有人问过这个问题,微软 MVP 的回应是使用第三方程序. 显然甚至微软也承认 Windows Vista+ 中的搜索功能是无用的。
Windows 使用两个不同的文件类型注册表项。实际扩展名对应的项又指向相应的文件类型项。
例如,文本文件将有一个条目,其中hkcr\.txt
包含指向具有类型特定信息txtfile
的引用hkcr\txtfile
。(多个扩展可以指向同一类型;例如,.cpp
或.mytype
可以指向txtfile
以将它们视为文本文件)。
如果您使用注册表活动监视器(例如,使用进程监视器),您可以观察索引器枚举和访问HKCR
的子键。不幸的是,索引器不访问类型特定的条目unknown
。它只枚举扩展,并且由于未知类型没有扩展(它们有,但是会有所不同),因此无法使用索引器手动注册未知类型。
也就是说,索引未知类型曾是 在 Windows XP 中可行(图 1)。您可以在 Windows 7 中尝试使用相同的选项:
- 打开注册表编辑器
导航到以下注册表项:
HKLM\System\CurrentControlSet\Control\ContentIndex\FilterFilesWithUnknownExtensions
- 找到 DWORD 值
FilterFilesWithUnknownExtensions
,如果不存在则创建一个 - 为其分配一个值来
1
索引未知类型或0
关闭未知类型索引 - 重新启动Windows 搜索服务
如果这仍然不起作用,那么我担心 Vista 及更高版本的索引器中索引未知文件内容的功能已经删除了。
图1:Windows XP 的未知类型索引选项
答案2
免费且流行的 Notepad++ 有一个实用的功能,可以递归搜索目录中的文件内容。我经常使用它。扫描所有文本文件,包括未知文件类型。
附加功能:与 Notepad++ 完美集成。搜索结果中显示整行匹配内容,并突出显示目标短语。单击任意行即可在 Notepad++ 中打开文件。
它将二进制文件内容视为一堆有趣的字符。
搜索大文件时需要时间,但不会崩溃。
该解决方案不使用索引,但是仍然解决了问题。