通过通配符从Windows搜索中排除目录

Modified on: Sat, 12 Jan 2019 00:40:03 +0800

搜索索引正在干扰我们的构建过程,我想从索引器中排除dev目录的所有实例(我们有一个主干和分支设置)。
我可以排除整个父目录,但这会排除太多文件。

我可以通过取消选择索引选项中的每个实例来手动完成,但这非常手动且乏味。

我在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\WorkingSetRules中找到了注册表中的规则,但我不知道是否犹太洁食更新了苍蝇。

是否可以通过通配符或其他一些较少的手动标准从Windows搜索中排除目录?

作者:mskfisher

最佳答案

我查看了HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\DefaultRules键,发现了一些有趣的内容。

DefaultRules\1包含:

Default   REG_DWORD    0x00000001
Include   REG_DWORD    0x00000000
Policy    REG_DWORD    0x00000000
Suppress  REG_DWORD    0x00000000
URL       REG_SZ       file:///C:\Users\*\AppData\Local\Temp\*

查看URL键 - 两个通配符!

因此,由于Windows Search本身支持通配符,我们所要做的就是调整现有的异常。

将通配符例外添加到Windows搜索

  1. 添加模板例外。
    通过转到Indexing OptionsModify,为合适的目录添加例外
    并取消选择一个目录(在我的例子中,C:\Users\MyName\dev\trunk\bin)。
  2. 停止Windows搜索服务
    转到Services,选择Windows Search,右键单击它,然后选择Stop
  3. 找到现有的例外情况
    打开注册表编辑器并导航到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\WorkingSetRules
    查看每个带编号的子项以查找您的。
  4. 调整例外。
    在我的情况下,我有多个分支检出,所以我将有trunk和每个版本化分支(如3.2,4.0等)的目录。所以我从

    更改了URL

    file:///C:\Users\MyName\dev\ProjectName\trunk\bin


    file:///C:\Users\MyName\dev\ProjectName\*\bin
  5. 重新启动Windows搜索服务
    右键单击Windows Search并选择StartRestart
  6. 醇>

    就是这样!甚至在索引选项中取消选中/排除目录。

作者:,mskfisher

相关问答

添加新评论