O filtro Palavra-chave no PowerShell

Uma função é uma coleção de instruções do PowerShell que possui um nome atribuído. Para executar a função, você precisa digitar o nome da função.
As instruções em uma função são executadas após você executar a função. Uma função deve ser definida antes de ser chamada.
Um filtro é um tipo especial de função que utiliza a palavra-chave filter
. Este tutorial irá ensiná-lo a usar a função de filtro no PowerShell.
Use a Função filter
no PowerShell
O filter
é uma função que é executada em cada objeto no pipeline. Todas as suas instruções estão incluídas dentro de um bloco de processo na função filter
.
Normalmente, uma função utiliza os parâmetros Begin
ou End
, mas uma função filter
possui apenas o bloco de processo.
Sintaxe:
filter [<scope:>]<name> { <statement list> }
O principal objetivo de uma função filter
é processar a entrada do pipeline. Ela ajuda a processar a entrada do pipeline de forma mais rápida e eficiente.
O exemplo a seguir recebe 1,2,3
como entrada do pipeline e exibe toda a entrada.
Comando:
filter Input {
$_
}
1, 2, 3, 4, 5 | Input
A variável automática $_
ajuda a capturar o objeto de entrada do pipeline.
Saída:
1
2
3
4
5
Não é necessário usar o laço ForEach
na função de filtro porque a funcionalidade do laço já está incorporada.
Comando:
filter Input {
if ($_ -eq 2) {
$_
}
}
1, 2, 3, 4, 5 | Input
Saída:
2
A seguinte função filter
obtém objetos de arquivos do pipeline e os exibe na saída.
Comando:
filter Get-Files {
$_
}
Get-ChildItem C:\folder2 -Recurse -ErrorAction SilentlyContinue | Get-Files
No script acima, o cmdlet Get-Child
obtém recursivamente itens no diretório C:\folder2
.
Saída:
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 artigo ajude você a entender como usar a função de filtro no PowerShell. Para mais informações, leia Trabalhando com Funções no Windows PowerShell.