Puis-je effectuer une recherche de contenu de fichier "unique" dans Windows Server 2008 sans ajouter le dossier à l'index?

Puis-je rechercher des fichiers contenant une chaîne spécifique dans un dossier si ce dossier n'est pas dans l'index de recherche?

Alors, disons que le dossier 'textFiles' n'est pas dans l'index. Je navigue dans ce dossier dans l'Explorateur Windows. Je tape '.ini' dans la zone de recherche. Je souhaite voir une liste de résultats contenant uniquement 'b.txt'

FOLDER C:\textFiles\ FILE a.php CONTENT once twice thrice mice moose monkey FILE b.txt CONTENT mingle muddle middle.ini banana beer FILE c.spo CONTENT sellotape stapler phone book 

Je n'ai pas la permission d'ajouter des dossiers à l'index Windows et je n'ai pas la permission d'installer ou d'exécuter des exécutables qui ne sont pas livrés avec le serveur ou les applications approuvées.

Je serais heureux avec une solution de ligne de commande natif de Windows si nécessaire.

Vous pouvez le faire avec l'outil de ligne de commande foundtr.exe fourni par Microsoft.

  1. Ouvrez une invite de commandes et accédez à c: \ textfiles

  2. Exécuter la commande findstr /L /M /C:"ini" *.*

    Note: vous pouvez ajouter / S pour rechercher tous les sous-répertoires

Détails complets sur FINDSTR

  FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file] [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]] strings [[drive:][path]filename[ ...]] /B Matches pattern if at the beginning of a line. /E Matches pattern if at the end of a line. /L Uses search strings literally. /R Uses search strings as regular expressions. /S Searches for matching files in the current directory and all subdirectories. /I Specifies that the search is not to be case-sensitive. /X Prints lines that match exactly. /V Prints only lines that do not contain a match. /N Prints the line number before each line that matches. /M Prints only the filename if a file contains a match. /O Prints character offset before each matching line. /P Skip files with non-printable characters. /OFF[LINE] Do not skip files with offline attribute set. /A:attr Specifies color attribute with two hex digits. See "color /?" /F:file Reads file list from the specified file(/ stands for console). /C:string Uses specified string as a literal search string. /G:file Gets search strings from the specified file(/ stands for console). /D:dir Search a semicolon delimited list of directories strings Text to be searched for. [drive:][path]filename Specifies a file or files to search. Use spaces to separate multiple search strings unless the argument is prefixed with /C. For example, 'FINDSTR "hello there" xy' searches for "hello" or "there" in file xy 'FINDSTR /C:"hello there" xy' searches for "hello there" in file xy Regular expression quick reference: . Wildcard: any character * Repeat: zero or more occurrences of previous character or class ^ Line position: beginning of line $ Line position: end of line [class] Character class: any one character in set [^class] Inverse class: any one character not in set [xy] Range: any characters within the specified range \x Escape: literal use of metacharacter x \<xyz Word position: beginning of word xyz\> Word position: end of word For full information on FINDSTR regular expressions refer to the online Command Reference. 

La solution la plus simple est de désactiver momentanément la recherche Windows , si vous avez des autorisations:

  1. net stop wsearch

  2. Faites votre recherche dans le dossier dans l'Explorateur Windows, il recherchera sans index.

  3. net start wsearch

Bien que cela fonctionne pour les petits dossiers, vous pourriez rencontrer des problèmes avec les plus grands.

Une alternative pour la recherche de contenu de fichier

Windows Grep s'appuie sur l'idée linux grep , en fournissant une interface graphique qui vous permet de voir des lignes correspondantes; Cela vous permet de regarder rapidement les fichiers à la recherche des différentes occurrences et de leur contexte:

Il offre de nombreuses options de recherche, de sorte qu'il convient aussi aux dossiers plus grands ou plus complexes:

Il a également un assistant facile si vous ne vous embêtez pas de voir tous les paramètres, et vous pouvez configurer la manière dont les résultats du texte s'affichent (numéros de ligne, montrer la partie / ligne entière, police fixe, …)

Une alternative pour rechercher des noms de fichiers

Rechercher Tout est l'un des moteurs de recherche les plus petits pour Windows et est donc facile à extraire et à exécuter. Il dispose d'une interface utilisateur très propre et simple, vous permettant d'indexer rapidement les fichiers et de rechercher parmi eux. Il a une utilisation minimale des ressources et fait des mises à jour en temps réel si vous le maintenez ouvert, donc il correspond même à un remplacement de Windows Search si vous voulez …

J'ai un total de 904 108 fichiers et dossiers, ce qui est beaucoup par rapport à l'utilisateur habituel, et lorsque je tape quelque chose comme Super User il s'affiche instantanément . L'indexation ne prend pas longtemps non plus; Donc, il s'agit simplement de l'ouvrir en attendant quelques secondes et d'avoir une recherche instantanée à la pointe de votre doigt.

Par exemple, vous pouvez afficher tous les exécutables dans un dossier comme ceci: *.exe "C:\Program Files"