Rechercher une chaîne dans plusieurs fichiers et renvoyer le nom des fichiers dans PowerShell
-
Utilisez les cmdlets
Get-ChildItem
etSelect-String
pour rechercher une chaîne dans plusieurs fichiers et renvoyer le nom des fichiers dans PowerShell -
Utilisez
ls
etsls
pour rechercher une chaîne dans plusieurs fichiers et renvoyer le nom des fichiers dans PowerShell

Vous pouvez afficher les fichiers présents dans un répertoire spécifique à l’aide de PowerShell. Il permet également de rechercher des fichiers de manière récursive pour retrouver les fichiers présents dans les sous-répertoires.
Mais est-il possible de rechercher une chaîne dans des fichiers et d’obtenir les noms de ces fichiers dans PowerShell ? La réponse est oui. Ce didacticiel vous apprendra à rechercher une chaîne dans plusieurs fichiers et à renvoyer le nom des fichiers dans PowerShell.
Utilisez les cmdlets Get-ChildItem
et Select-String
pour rechercher une chaîne dans plusieurs fichiers et renvoyer le nom des fichiers dans PowerShell
la cmdlet Get-ChildItem
affiche une liste des fichiers et des répertoires présents à l’emplacement spécifique. Le paramètre -Recurse
permet de lister récursivement tous les fichiers, répertoires ou sous-répertoires. Mais il n’affiche pas les répertoires vides dans la sortie.
la cmdlet Select-String
recherche et trouve des modèles de chaîne dans les fichiers.
La commande suivante recherchera une chaîne system
dans tous les fichiers du répertoire C:\pc
et répertoriera le chemin complet d’un fichier.
Get-ChildItem -Path C:\New -Recurse | Select-String -Pattern 'system' -List | Select Path
Production :
Path
----
C:\New\literature_review.pdf
C:\New\Proposal.pdf
C:\New\Draft.pdf
C:\New\Report.docx
C:\New\fyp\Forms.docx
Vous pouvez également afficher la ligne contenant la chaîne si vous incluez Line
dans la commande.
Get-ChildItem -Path C:\New -Recurse | Select-String "system" -List | Select Path,Line
Utilisez ls
et sls
pour rechercher une chaîne dans plusieurs fichiers et renvoyer le nom des fichiers dans PowerShell
La commande ls
est populaire pour répertorier les fichiers et les répertoires dans les systèmes d’exploitation Unix et de type Unix. La commande ls
est également disponible dans le PowerShell et fonctionne de manière similaire.
Si le chemin n’est pas spécifié, il liste les fichiers et répertoires présents dans le répertoire de travail. Avec l’option -r
, ls
liste les fichiers et répertoires de manière récursive.
ls C:\pc
Production :
Directory: C:\pc
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 1/2/2022 2:53 PM computing
d----- 1/2/2022 1:24 PM New folder
-a---- 1/2/2022 1:36 PM 17384 hello
-a---- 1/2/2022 2:48 PM 5134 matrix.c
-a---- 12/26/2020 7:03 PM 321 ReadMe.txt
Le sls
est un alias pour la cmdlet Select-String
. Il recherche également un modèle de chaîne dans les fichiers.
Vous pouvez utiliser la commande ci-dessous pour rechercher une chaîne dans plusieurs fichiers et obtenir le nom des fichiers dans PowerShell.
ls -r -Path C:\pc | sls 'hello' | select -u Path
Production :
Path
----
C:\pc\computing\task3\crack
C:\pc\computing\task3\crack1
C:\pc\computing\task3\crack2
C:\pc\computing\task3\cracked
C:\pc\computing\task3\pass
C:\pc\computing\task3\password.txt
C:\pc\computing\task3\pwd
C:\pc\computing\task4\hello
Article connexe - PowerShell String
- Comment convertir une chaîne sécurisée en texte brut dans PowerShell
- Comment extraire une sous-chaîne PowerShell d'une chaîne
- Comment générer des chaînes aléatoires en utilisant PowerShell
- Comment remplacer un texte dans un fichier en utilisant PowerShell
- Comment supprimer les espaces d'une variable en utilisant PowerShell
- Comment trouver la position d'une sous-chaîne dans PowerShell