findstr

Recherche des modèles de texte dans les fichiers.

Syntaxe

findstr [/b] [/e] [/l | /r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/f:<file>] [/c:<string>] [/g:<file>] [/d:<dirlist>] [/a:<colorattribute>] [/off[line]] <strings> [<drive>:][<path>]<filename>[ ...]

Paramètres

Paramètre Description
/b Fait correspondre le modèle de texte s’il se trouve au début d’une ligne.
/e Fait correspondre le au modèle de texte s’il se trouve à la fin d’une ligne.
/l Traite littéralement les chaînes de recherche.
/r Traite les chaînes de recherche en tant qu’expressions régulières. Il s'agit du paramètre par défaut.
/s Recherche le répertoire actif et tous les sous-répertoires.
/i Ignore la casse des caractères lors de la recherche de la chaîne.
/x Imprime les lignes qui correspondent exactement.
/v Imprime uniquement les lignes qui ne contiennent pas de correspondance.
/n Imprime le numéro de ligne de chaque ligne correspondante.
/m Imprime uniquement le nom de fichier si un fichier contient une correspondance.
/o Imprime le décalage des caractères avant chaque ligne correspondante.
/p Ignore les fichiers avec des caractères non imprimables.
/off[line] N’ignore pas les fichiers dont l’attribut offline est défini.
/f:<file> Obtient une liste de fichiers à partir du fichier spécifié.
/c:<string> Utilise le texte spécifié comme chaîne de recherche littérale.
/g:<file> Obtient les chaînes de recherche du fichier spécifié.
/d:<dirlist> Recherche la liste spécifiée de répertoires. Chaque répertoire doit être séparé par un point-virgule (;), par exemple dir1;dir2;dir3.
/a:<colorattribute> Spécifie les attributs color avec deux chiffres hexadécimaux. Tapez color /? pour plus d’informations.
<strings> Spécifie le texte à rechercher dans filename. Obligatoire.
[\<drive>:][<path>]<filename>[...] Spécifie l’emplacement et le ou les fichiers à rechercher. Au moins un nom de fichier est nécessaire.
/? Affiche l'aide à l'invite de commandes.

Notes

  • Toutes les options de ligne de commande findstr doivent précéder strings et le filename dans la chaîne de commande.

  • Les expressions régulières utilisent à la fois des caractères littéraux et des méta-caractères pour rechercher des modèles de texte, plutôt que des chaînes exactes de caractères.

    • Un caractère littéral est un caractère qui n’a pas de signification particulière dans la syntaxe d’expression régulière ; au lieu de cela, il correspond à une occurrence de ce caractère. Par exemple, les lettres et les chiffres sont des caractères littéraux.

    • Un méta-caractère est un symbole avec une signification particulière (opérateur ou délimiteur) dans la syntaxe d’expression régulière.

      Les méta-caractères acceptés sont les suivants :

      Méta-caractère Valeur
      . Caractère générique : n’importe quel caractère
      * Répéter : zéro ou plusieurs occurrences du caractère ou de la classe qui précède.
      ^ Position de début de ligne : début de la ligne.
      $ Position de fin de ligne : fin de la ligne.
      [class] Classe de caractères : n’importe quel caractère d’un jeu.
      [^class] Classe inverse : n’importe quel caractère qui n’est pas dans un jeu.
      [x-y] Plage : tous les caractères de la plage spécifiée.
      \x Échappement : utilisation littérale d’un méta-caractère.
      \<string Position de début du mot : début du mot.
      string\> Position de fin du mot : fin du mot.

      Les caractères spéciaux de la syntaxe d’expression régulière sont encore plus puissants lorsque vous les utilisez ensemble. Par exemple, utilisez la combinaison du caractère générique (.) et du caractère de répétition (*) pour faire correspondre n’importe quelle chaîne de caractères : .*

      Utilisez l’expression suivante dans le cadre d’une expression plus grande pour faire correspondre n’importe quelle chaîne commençant par b et se terminant par ING: b.*ing

  • Pour rechercher plusieurs chaînes dans un ensemble de fichiers, vous devez créer un fichier texte qui contient chaque critère de recherche sur une ligne distincte.

  • Utilisez des espaces pour séparer plusieurs chaînes de recherche, sauf si l’argument est préfixé par /c.

Exemples

Pour rechercher Hello ou there fichier x. y, tapez :

findstr hello there x.y

Pour rechercher hello there dans le fichier x. y, tapez :

findstr /c:"hello there" x.y

Pour rechercher toutes les occurrences du mot Windows (avec une lettre majuscule initiale W) dans le fichier proposal.txt, tapez :

findstr Windows proposal.txt

Pour rechercher tous les fichiers du répertoire actif et tous les sous-répertoires contenant le mot Windows, quelle que soit la casse, tapez :

findstr /s /i Windows *.*

Pour rechercher toutes les occurrences de lignes qui commencent par FOR et sont précédées de zéro ou de plusieurs espaces (comme dans une boucle de programme informatique) et pour afficher le numéro de ligne où chaque occurrence est trouvée, tapez :

findstr /b /n /r /c:^ *FOR *.bas

Pour répertorier les fichiers exacts que vous souhaitez rechercher dans un fichier texte, en utilisant les critères de recherche dans le fichier stringlist.txt pour rechercher les fichiers répertoriés dans filelist.txt, puis stocker les résultats dans le fichier results.out, tapez :

findstr /g:stringlist.txt /f:filelist.txt > results.out

Pour répertorier chaque fichier contenant le mot computer dans le répertoire actif et tous ses sous-répertoires, quel que soit le cas, tapez :

findstr /s /i /m \<computer\> *.*

Pour répertorier chaque fichier contenant le mot ordinateur et tous les autres mots qui commencent par COMP, (par exemple compliment et en compete), tapez :

findstr /s /i /m \<comp.* *.*