La commande « Rechercher » est généralement adéquate pour la plupart de vos besoins (voir le conseil intitulé link: / windows-Using_the_Find_Command [Utilisation de la commande Find]), mais il existe également une commande « Findstr » qui est plus puissante pour ces moments lorsque vous avez besoin de trouver des chaînes dans certaines circonstances. Dans sa forme la plus simple, Findstr ressemble à Find:

C:\> FINDSTR "document" Barry?.tmp

Findstr accepte plusieurs commutateurs de plus que Find, et vous pouvez voir une liste complète en tapant ce qui suit:

C:\> FINDSTR /?

La première différence que vous remarquerez entre la sortie de Find et

Findstr est que ce dernier préfixe chaque ligne trouvée avec le nom du fichier dans lequel elle se trouve: (Voir Figure 1.)

image

Figure 1. Findstr affiche les noms de fichiers en ligne avec la chaîne trouvée.

Il y a plus d’une douzaine de commutateurs disponibles avec Findstr, mais au lieu de les parcourir tous, je vais juste vous dire quelques-unes des fonctions (imo) les plus importantes disponibles par rapport à ce que la commande Find a. La première chose que je mentionnerai est que vous pouvez rechercher plusieurs chaînes en même temps. Si la chaîne de recherche que vous recherchez contient des espaces, Findstr supposera que vous voulez trouver string1 or string2 or string3, etc. Par exemple, si vous voulez trouver toutes les lignes qui contiennent « document » ou « texte », il vous suffit de séparer les mots avec un espace comme ceci:

(Voir la figure 2.)

image

Figure 2. Recherche de deux chaînes à la fois.

Une autre fonctionnalité intéressante est que Findstr peut rechercher des fichiers dans des sous-répertoires.

Disons que j’ai Barry1.tmp dans mon répertoire \ Temp et Barry2.tmp dans mon répertoire \ Temp \ Temp2. Depuis le répertoire \ Temp, je peux utiliser le « / S »

commutateur pour indiquer à Findstr de rechercher les sous-répertoires. Cela ressemble à ceci:

(Voir la figure 3.)

image

Figure 3. Utilisation de / S pour rechercher des sous-répertoires.

Il y a beaucoup plus de fonctionnalités que je pourrais vous montrer, mais une dernière mérite vraiment une attention particulière. C’est le concept de la recherche à l’aide d’expressions régulières. « Introduction aux expressions régulières » est traité dans une autre astuce, mais je veux vous montrer comment une expression régulière peut être utilisée dans Findstr.

Supposons que vous souhaitiez rechercher le mot «document», mais uniquement les occurrences suivies d’un signe de ponctuation comme une virgule ou un point. L’expression régulière pour ce type de recherche est « document [,.] ». Vous indiquez à Findstr que votre chaîne de recherche utilise une expression régulière en spécifiant le commutateur « / R », et ajoutons le commutateur « / N » pour que nous voyions les numéros de ligne. Voici ce que vous obtenez: (voir la figure 4.)

image

Figure 4. Recherche à l’aide d’une expression régulière.

Il y a encore plus à Findstr, mais j’espère que vous avez suffisamment mis en appétit pour savoir où vous commencerez à l’utiliser lorsque vous aurez besoin de rechercher des chaînes dans des fichiers.

Cette astuce (13505) s’applique à Windows 7, 8 et 10.