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
- Vérifier si une chaîne est vide en PowerShell
- Vérifier si une chaîne n'est pas NULL ou VIDE en PowerShell
- Extraction d'une sous-chaîne dans PowerShell
- Échapper aux guillemets simples et aux guillemets doubles dans PowerShell
- Joindre le chemin pour combiner plus de deux chaînes dans un chemin de fichier dans PowerShell
- Fractionner une chaîne en variables distinctes dans PowerShell