Le filtre Keyword dans PowerShell

Une fonction est une collection d’instructions PowerShell qui a un nom attribué. Pour exécuter la fonction, vous devez taper le nom de la fonction.
Les instructions dans une fonction s’exécutent après que vous avez exécuté la fonction. Une fonction doit être définie avant de pouvoir être appelée.
Un filtre est un type spécial de fonction qui utilise le mot-clé filter
. Ce tutoriel vous apprendra à utiliser la fonction de filtre dans PowerShell.
Utiliser la fonction filter
dans PowerShell
Le filter
est une fonction qui s’exécute sur chaque objet dans le pipeline. Toutes ses instructions sont incluses dans un bloc de processus dans la fonction filter
.
Normalement, une fonction utilise le paramètre Begin
ou End
, mais une fonction filter
n’a que le bloc de processus.
Syntaxe :
filter [<scope:>]<name> { <statement list> }
Le but principal d’une fonction filter
est de traiter les entrées du pipeline. Elle aide à traiter les entrées du pipeline plus rapidement et plus efficacement.
L’exemple suivant prend 1,2,3
comme entrée du pipeline et affiche toute l’entrée.
Commande :
filter Input {
$_
}
1, 2, 3, 4, 5 | Input
La variable automatique $_
aide à capturer l’objet d’entrée du pipeline.
Sortie :
1
2
3
4
5
Il n’est pas nécessaire d’utiliser la boucle ForEach
dans la fonction de filtre car la fonctionnalité de boucle est déjà intégrée.
Commande :
filter Input {
if ($_ -eq 2) {
$_
}
}
1, 2, 3, 4, 5 | Input
Sortie :
2
La fonction filter
suivante obtient des objets de fichiers du pipeline puis les affiche dans la sortie.
Commande :
filter Get-Files {
$_
}
Get-ChildItem C:\folder2 -Recurse -ErrorAction SilentlyContinue | Get-Files
Dans le script ci-dessus, la cmdlet Get-Child
obtient de manière récursive les éléments dans le répertoire C:\folder2
.
Sortie :
Directory: C:\folder2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2/23/2022 11:39 PM New folder
-a---- 2/23/2022 10:29 PM 0 books.txt
-a---- 2/23/2022 10:29 PM 0 hello.txt
Directory: C:\folder2\New folder
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2/23/2022 10:26 PM 0 cars.txt
Nous espérons que cet article vous aide à comprendre comment utiliser la fonction de filtre dans PowerShell. Pour plus d’informations, lisez Travailler avec des Fonctions dans Windows PowerShell.