有没有办法忽略某些模式的Windows搜索索引?

时间:2017-04-19 19:38:42

标签: git windows-search

有没有办法忽略某些模式的Windows搜索索引?

例如,我想跳过以下文件夹:

C:\ GIT中** GIT中\ C:\ Git的** \包\ C:\杂项\混帐混帐** \ C:\杂项\ GIT中** \包\

这些会在搜索结果中产生数千个额外的噪音匹配。

我想索引C:\ misc \ git中的各种文件夹,除了.git或.packages子文件夹中的内容。我只找到了一种静态的方法来做到这一点,而且没有任何基于模式的方法。这似乎是一个常见的用例,有点像git使用.gitignore来保持某些内容不受版本控制的方式。在这种情况下,它会将其保留在搜索索引之外。

我没有在"索引位置"中看到任何类似图案的工具。我假设可以通过运行某种脚本来完成每次内容更改时排除当前匹配(例如添加C:\ misc \ git \ somethingnew),但这与优雅相反。

任何帮助都将不胜感激。

细价

1 个答案:

答案 0 :(得分:0)

根据this answer @PryrtCJ Windows注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\WorkingSetRules\包含允许使用通配符的规则。

regedit with *.git\ exclude rule

要添加此类规则,我建议在索引选项中将一个.git文件夹添加到排除的路径,然后找到正确的密钥(URL会像file:///C:\[partition-or-disk-id]\path\to\.git\一样)。 然后编辑密钥权限(选择包含.git URL的密钥并右键单击它) - 您需要将密钥所有者从SYSTEM更改为您的帐户,并允许管理员组修改密钥。

advanced permissions settings

如果您有权修改它,请右键单击URL,选择修改并将其内容更改为file:///*\.git\。稍后恢复以前的权限(只是为了避免问题)。

这样你可以创建任何*过滤器,例如。 file:///C:\misc\*\packages\*