Exclude directories from Windows Search by wildcard
I looked in the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\DefaultRules
key and found something interesting.
DefaultRules\1
contains:
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\*
Look at that URL
key - two wildcards!
So since Windows Search natively supports wildcards, all we have to do is tweak an existing exception.
Adding wildcard exceptions to Windows Search
- Add template exception.
Add an exception for a suitable directory by going toIndexing Options
→Modify
and deselecting one directory (in my case,C:\Users\MyName\dev\trunk\bin
). - Stop the Windows Search service.
Go toServices
, selectWindows Search
, right-click on it, and selectStop
. - Find the existing exception.
Open Registry Editor and navigate toHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\WorkingSetRules
.
Look through each numbered subkey to find yours. -
Tweak the exception.
In my case, I have multiple branches checked out, so I will have directories fortrunk
and for each versioned branch (such as 3.2, 4.0, etc). So I changed theURL
key fromfile:///C:\Users\MyName\dev\ProjectName\trunk\bin
to
file:///C:\Users\MyName\dev\ProjectName\*\bin
- Restart the Windows Search service.
Right-click onWindows Search
and selectStart
orRestart
.
That's it! The directories are even unchecked/excluded in the Indexing Options.