간단한 설명
PowerShell에서 와일드카드 문자를 사용하는 방법을 설명합니다.
긴 설명
와일드카드 문자는 하나 이상의 문자를 나타냅니다. 명령에서 단어 패턴을 만드는 데 사용할 수 있습니다. 와일드카드 식은 -like 연산자 또는 와일드카드를 허용하는 매개 변수와 함께 사용됩니다.
예를 들어 C:\Techdocs 디렉터리의 모든 파일을 .ppt 파일 이름 확장명을 사용하여 일치하려면 다음을 입력합니다.
Get-ChildItem C:\Techdocs\*.ppt
이 경우 별표(*) 와일드카드 문자는 .ppt 파일 이름 확장명 앞에 나타나는 모든 문자를 나타냅니다.
와일드카드 식은 정규식보다 간단합니다. 자세한 내용은 about_Regular_Expressions참조하세요.
PowerShell은 다음 와일드카드 문자를 지원합니다.
-
*- 0개 이상의 문자 일치-
a*aA,ag및Apple일치 -
a*banana일치하지 않습니다.
-
-
?- 해당 위치에 있는 캐릭터 한 명 일치-
?nan,in및on일치 -
?nran일치하지 않습니다.
-
-
[ ]- 문자 범위 일치-
[a-l]ookbook,cook및look일치 -
[a-l]ooktook일치하지 않습니다.
-
-
[ ]- 특정 문자 일치-
[bc]ookbook일치 및cook -
[bc]ookhook일치하지 않습니다.
-
-
`*- 모든 문자를 리터럴로 일치(와일드카드 문자 아님)-
12`*4일치12*4 -
12`*41234일치하지 않습니다.
-
동일한 단어 패턴에 여러 와일드카드 문자를 포함할 수 있습니다. 예를 들어
Get-ChildItem C:\Techdocs\[a-l]*.txt
리터럴 문자를 와일드카드 문자로 취급하지 않고 일치하려는 경우가 있을 수 있습니다. 이러한 경우 백틱(`) 문자를 사용하여 와일드카드 문자를 이스케이프하여 리터럴 문자 값을 사용하여 비교할 수 있습니다. 예를 들어 '*hello`?*' "hello?"를 포함하는 문자열과 일치합니다.
많은 cmdlet은 매개 변수 값에 와일드카드 문자를 허용합니다. 각 cmdlet에 대한 도움말 항목에서는 와일드카드 문자를 허용하는 매개 변수에 대해 설명합니다. 와일드카드 문자를 허용하는 매개 변수의 경우 대/소문자를 구분하지 않습니다.
명령 및 스크립트 블록에서 와일드카드 문자를 사용하여 속성 값을 나타내는 단어 패턴을 만들 수 있습니다. 예를 들어 다음 명령은 ServiceType 속성 값에 Interactive포함하는 서비스를 가져옵니다.
Get-Service | Where-Object {$_.ServiceType -Like "*Interactive*"}
다음 예제에서 If 문에는 와일드카드 문자를 사용하여 속성 값을 찾는 조건이 포함되어 있습니다. 복원 지점의 설명PowerShell포함하는 경우 이 명령은 복원 지점의 CreationTime 속성 값을 로그 파일에 추가합니다.
$p = Get-ComputerRestorePoint
foreach ($point in $p) {
if ($point.description -like "*PowerShell*") {
Add-Content -Path C:\TechDocs\RestoreLog.txt "$($point.CreationTime)"
}
}