Findstr : Exemples et conseils d'utilisation de cet outil Windows CMD pratique

Pour les non-initiés, un outil de recherche de modèles comme findstr peut sembler inutile. Mais lorsqu'il s'agit de fichiers journaux générés par le système ou de sorties de ligne de commande contenant des centaines de lignes de texte, findstr est exactement l'outil dont vous avez besoin.

Les utilisateurs d'un système d'exploitation Linux seraient déjà familiarisés avec l'incroyable utilité de la commande Grep , et findstr remplit un rôle similaire dans Microsoft Windows . Vous pouvez le combiner avec d' autres commandes(other commands) à l'aide de canaux ou simplement l'exécuter directement pour analyser plusieurs fichiers texte. Regardons comment fonctionne findstr avec quelques exemples.

Utilisation de la commande Findstr

La syntaxe de base est simple - findstr , oùest le modèle à rechercher, etest l'adresse du fichier dans lequel effectuer la recherche. Ouvrez l'invite de commande(Command Prompt) et essayez-la.

findstr SFC example1.txt

Cette commande trouvera et affichera toutes les lignes contenant la chaîne de recherche SFC . Notez que par défaut, findstr est sensible à la casse, donc toute mention de SFC ne sera pas mise en correspondance.

Paramètres

Vous pouvez personnaliser davantage le fonctionnement de findstr en incluant des paramètres facultatifs. Des commutateurs comme /B ou /I modifient le comportement de findstr, imposant des conditions supplémentaires à la recherche. Par exemple:

findstr /I SFC example1.txt

L'inclusion de /I en tant que paramètre rend la recherche insensible à la casse, permettant à toutes les mentions du terme de correspondre, quelle que soit leur casse. Vous pouvez trouver la liste de tous les paramètres de findstr dans la documentation officielle de Microsoft(official Microsoft docs) .

Modèles optionnels

Les paramètres ne sont pas le seul moyen de personnaliser findstr. Mettre la <chaîne> entre guillemets, par exemple, vous permet de spécifier plusieurs modèles, vous donnant une correspondance si l'une des chaînes de texte est trouvée.

findstr "SFC DISM" example1.txt

Ce qui précède renverra les lignes correspondantes contenant l'un ou l'autre des termes. Cela le rend utile lors de la recherche d'une mention pour un élément avec des noms différents.

Expressions régulières

Findstr est capable de rechercher dans plusieurs fichiers. En changeantà une expression régulière oblige la commande à rechercher le modèle spécifié dans tous les fichiers correspondants.

findstr SFC *.txt

L'utilisation du caractère générique fait correspondre l'expression régulière à tous les fichiers texte du répertoire actuel et de ses sous-répertoires. Les résultats sont également séparés par noms de fichiers, vous permettant de voir quelle ligne provient de quel fichier.

Tuyaux

Comme la plupart des commandes cmd, findstr peut également être utilisé sur la sortie d'autres commandes. Ajoutez simplement(Just) un tube après la fin de la commande cible et invoquez findstr sans.

dir | findstr .txt

Cela exécute une recherche findstr sur la sortie de la commande dir , renvoyant la liste de fichiers se terminant par .txt . Bien sûr, cet exemple particulier est inutile en pratique puisque dir peut déjà localiser des fichiers du même type avec une expression régulière.

On peut également emprunter la voie plus longue consistant à rediriger la sortie vers un fichier texte(redirecting the output to a text file) , puis à utiliser findstr sur le fichier texte, mais il est plus facile de couper l'intermédiaire.

Applications de Findstr dans Windows

Les utilisations évidentes de findstr ressortent facilement de la syntaxe seule. Vous pouvez rechercher des fichiers texte avec une chaîne de texte spécifique ou voir si une chaîne particulière est contenue dans un fichier.

Ceci, bien que théoriquement utile, est rarement utilisé en dehors de cas rares. À l'ère des services cloud comme Google Docs , la plupart des gens n'ont plus beaucoup de fichiers texte.

Les applications réelles de findstr sont un peu plus subtiles et impliquent des résultats plus puissants. Voici quelques-uns des exemples les plus intéressants.

Recherche de types de fichiers spécifiques

La commande dir inclut déjà l'option de rechercher des noms de fichiers à l'aide d'expressions régulières. Mais avec findstr, vous pouvez rechercher des fichiers partageant d'autres attributs, tels que l'heure ou la date de création.

Supposons(Suppose) qu'une erreur se soit produite à 18h43 et que vous souhaitiez localiser tous les fichiers journaux créés à ce moment-là. Avec la commande dir seule, vous devrez parcourir manuellement les résultats ou obtenir tous les fichiers journaux et les comparer. En utilisant findstr, cela devient une simple commande.

dir | findstr 06:43

Vous pouvez essayer la même astuce pour trouver des fichiers créés à une date particulière ou obtenir une liste de répertoires.

dir | findstr DIR

Filtrage des informations réseau(Network Information) avec Netstat

Netstat est une commande Windows pratique qui vous donne toutes les informations sur les connexions réseau de votre ordinateur - trop d'informations, c'est là que findstr entre en jeu.

Transférer la sortie de netstat dans findstr vous permet de rechercher des connexions avec des propriétés spécifiques. Par exemple, c'est ainsi que vous pouvez obtenir une liste de toutes les connexions établies.

netstat | findstr ESTABLISHED

Cette astuce est utile lors du diagnostic des problèmes de réseau. Vous pouvez même utiliser findstr avec un PID d'application pour trouver toutes les connexions ouvertes par un processus particulier.

netstat -o | findstr 13120

Obtention d'adresses IP spécifiques

La commande ipconfig vous permet d'afficher les détails de toutes les interfaces réseau des systèmes, y compris les adresses IP. Vous pouvez utiliser findstr pour extraire un type particulier d'adresse IP sans avoir à faire défiler l'ensemble.

ipconfig | findstr Temporary

Vous pouvez étendre cette méthode pour obtenir toutes les informations d'ipconfig, des masques de sous-réseau aux adresses de passerelle.

Analyse des fichiers de script

Quel que soit le langage de programmation dans lequel vous codez, les fichiers de script ne sont finalement que du texte. Cela signifie que vous pouvez utiliser findstr pour analyser des scripts et récupérer des sections spécifiques sans parcourir tout le code.

Disons(Say) que nous voulons voir comment l'instruction if a été utilisée dans un script particulier. Nous pouvons utiliser la commande suivante :

findstr si script.ahk(findstr if script.ahk )

Non seulement cela affichera les lignes utilisant l'instruction if, mais cela nous montrera également les expressions utilisées. Vous pouvez également inclure le paramètre /N pour afficher les numéros de ligne, ce qui est très pratique pour les fichiers de script.

findstr /N if script.ahk

Est-ce que Findstr vaut la peine d'être utilisé ?

La principale difficulté de navigation dans l'interface de ligne de commande est la quantité de texte à parcourir. Findstr est un outil essentiel pour extraire des informations utiles et filtrer les indésirables.

Étant donné que toutes les commandes de terminal donnent une sortie textuelle, findstr peut toujours être utilisé pour localiser les données pertinentes. Du dépannage des problèmes de réseau(troubleshooting network issues) à la recherche des bons fichiers, chaque action est rendue plus efficace avec findstr.

Même en dehors de sa synergie avec d'autres commandes, findstr est utile pour sa capacité à parcourir le contenu des fichiers texte. Vous pouvez trouver des erreurs spécifiques dans les fichiers journaux générés par la machine ou récupérer des sections de code dans un script complexe.

En bref, findstr est un outil indispensable dans l'arsenal de tout utilisateur avancé de Windows , en particulier celui qui souhaite se familiariser avec l'interface de ligne de commande.



About the author

Je suis un ingénieur logiciel avec plus de 10 ans d'expérience dans l'industrie du logiciel. Je me spécialise dans la création et la maintenance d'applications logicielles individuelles et d'entreprise, ainsi que dans le développement d'outils de développement pour les petites entreprises et les grandes organisations. Mes compétences résident dans le développement d'outils robustes de codeBase, de débogage et de test, et dans la collaboration étroite avec les utilisateurs finaux pour garantir que leurs applications fonctionnent parfaitement.



Related posts