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.
