Exclure les répertoires de Windows Search by wildcard

L'indexation de recherche interfère avec notre processus de construction, et j'aimerais exclure toutes les instances de nos répertoires dev de l'indexeur (nous avons une configuration de tronc et de branches).
Je pourrais exclure l'intégralité du répertoire parent, mais cela exclurait trop de fichiers.

Je peux le faire manuellement en désélectionnant chaque instance dans les options d'indexation, mais cela est très manuel et fastidieux.

J'ai trouvé les règles dans le registre sur HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\WorkingSetRules , mais je ne sais pas si c'est kosher de mettre à jour cela à la volée.

Est-il possible d'exclure des répertoires de Windows Search par un curseur ou d'autres critères moins manuels?

J'ai regardé dans la HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\DefaultRules et trouvé quelque chose d'intéressant.

DefaultRules\1 contient:

 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\* 

Regardez cette clé URL – deux caractères génériques!

Donc, puisque Windows Search supporte nativement les caractères génériques, tout ce que nous devons faire est de modifier une exception existante.

Ajouter des exceptions génériques à Windows Search

  1. Ajouter une exception de modèle.
    Ajoutez une exception pour un répertoire approprié en allant dans Indexing OptionsModify et désélectionnez un répertoire (dans mon cas, C:\Users\MyName\dev\trunk\bin ).
  2. Arrêtez le service de recherche Windows.
    Accédez à Services , sélectionnez Windows Search , cliquez avec le bouton droit de la souris et sélectionnez Stop .
  3. Trouvez l'exception existante.
    Ouvrez l'Éditeur du Registre et accédez à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\WorkingSetRules .
    Regardez à travers chaque sous-clé numérotée pour trouver la vôtre.
  4. Ajustez l'exception.
    Dans mon cas, j'ai plusieurs branches vérifiées, donc j'ai des répertoires pour le trunk et pour chaque branche versionnée (comme 3.2, 4.0, etc.). J'ai donc changé la clé URL de

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

    à

     file:///C:\Users\MyName\dev\ProjectName\*\bin 
  5. Redémarrez le service de recherche Windows.
    Cliquez avec le bouton droit de la souris sur Windows Search et sélectionnez Start ou Restart .

C'est tout! Les répertoires sont même non contrôlés / exclus dans les options d'indexation.