PowerShell의 필터 키워드

함수는 이름이 할당된 PowerShell 문장의 모음입니다. 함수를 실행하려면 함수 이름을 입력해야 합니다.
함수 내의 문장은 함수를 실행한 후에 실행됩니다. 함수를 호출하기 전에 정의되어야 합니다.
필터는 filter
키워드를 사용하는 특수한 유형의 함수입니다. 이 튜토리얼에서는 PowerShell에서 필터 함수를 사용하는 방법을 알려줍니다.
PowerShell에서 filter
함수 사용하기
filter
는 파이프라인의 각 객체에서 실행되는 함수입니다. 모든 문장은 filter
함수의 프로세스 블록 내에 포함됩니다.
일반적으로 함수는 Begin
또는 End
매개변수를 사용하지만, filter
함수는 프로세스 블록만 가집니다.
구문:
filter [<scope:>]<name> { <statement list> }
filter
함수의 주요 목적은 파이프라인의 입력을 처리하는 것입니다. 이를 통해 파이프라인 입력을 더 빠르고 효율적으로 처리할 수 있습니다.
다음 예제는 1,2,3
을 파이프라인에서 입력으로 받아 전체 입력을 표시합니다.
명령어:
filter Input {
$_
}
1, 2, 3, 4, 5 | Input
자동 변수 $_
는 파이프라인의 입력 객체를 캡처하는 데 도움을 줍니다.
출력:
1
2
3
4
5
필터 함수에서 ForEach
루프를 사용할 필요는 없습니다. 루프 기능이 이미 내장되어 있기 때문입니다.
명령어:
filter Input {
if ($_ -eq 2) {
$_
}
}
1, 2, 3, 4, 5 | Input
출력:
2
다음 filter
함수는 파이프라인에서 파일 객체를 가져와 출력에 표시합니다.
명령어:
filter Get-Files {
$_
}
Get-ChildItem C:\folder2 -Recurse -ErrorAction SilentlyContinue | Get-Files
위 스크립트에서 Get-Child
cmdlet은 디렉토리 C:\folder2
의 항목을 재귀적으로 가져옵니다.
출력:
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
이 기사가 PowerShell에서 필터 함수를 사용하는 방법을 이해하는 데 도움이 되기를 바랍니다. 더 많은 정보는 Windows PowerShell의 함수 작업하기를 읽어보세요.