El filtro Palabra clave en PowerShell

Una función es una colección de declaraciones de PowerShell que tiene un nombre asignado. Para ejecutar la función, debes escribir el nombre de la función.
Las declaraciones en una función se ejecutan después de que ejecutas la función. Una función debe ser definida antes de que pueda ser llamada.
Un filtro es un tipo especial de función que utiliza la palabra clave filter
. Este tutorial te enseñará a usar la función de filtro en PowerShell.
Usa la función filter
en PowerShell
El filter
es una función que se ejecuta en cada objeto en la tubería. Todas sus declaraciones están incluidas dentro de un bloque de proceso en la función filter
.
Normalmente, una función utiliza el parámetro Begin
o End
, pero una función filter
solo tiene el bloque de proceso.
Sintaxis:
filter [<scope:>]<name> { <statement list> }
El propósito principal de una función filter
es procesar la entrada de la tubería. Ayuda a procesar la entrada de la tubería más rápido y de manera más eficiente.
El siguiente ejemplo toma 1,2,3
como entrada de la tubería y muestra toda la entrada.
Comando:
filter Input {
$_
}
1, 2, 3, 4, 5 | Input
La variable automática $_
ayuda a capturar el objeto de entrada de la tubería.
Salida:
1
2
3
4
5
No es necesario usar el bucle ForEach
en la función de filtro porque la funcionalidad del bucle ya está incorporada.
Comando:
filter Input {
if ($_ -eq 2) {
$_
}
}
1, 2, 3, 4, 5 | Input
Salida:
2
La siguiente función filter
obtiene objetos de archivos de la tubería y luego los muestra en la salida.
Comando:
filter Get-Files {
$_
}
Get-ChildItem C:\folder2 -Recurse -ErrorAction SilentlyContinue | Get-Files
En el script anterior, el cmdlet Get-Child
obtiene recursivamente elementos en el directorio C:\folder2
.
Salida:
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
Esperamos que este artículo te ayude a entender cómo usar la función de filtro en PowerShell. Para más información, lee Trabajando con Funciones en Windows PowerShell.