간단한 설명
PowerShell에서 와일드카드 문자를 사용하는 방법을 설명합니다.
긴 설명
와일드카드 문자는 하나 이상의 문자를 나타냅니다. 명령에서 단어 패턴을 만드는 데 사용할 수 있습니다. 와일드카드 식은 -like 연산자 또는 와일드카드를 허용하는 매개 변수와 함께 사용됩니다.
예를 들어 C:\Techdocs 디렉터리의 모든 파일을 .ppt 파일 이름 확장명을 사용하여 일치하려면 다음을 입력합니다.
Get-ChildItem C:\Techdocs\*.ppt
이 경우 별표(*) 와일드카드 문자는 .ppt 파일 이름 확장명 앞에 나타나는 모든 문자를 나타냅니다.
와일드카드 식은 정규식보다 간단합니다. 자세한 내용은 about_Regular_Expressions참조하세요.
PowerShell은 다음 와일드카드 문자를 지원합니다.
| 와일드 카드 | 설명 | 예시 | 경기 | 일치하지 않음 |
|---|---|---|---|---|
* |
0개 이상의 문자 일치 | a* |
aA, ag, 애플 | 바나나 |
? |
해당 위치에 있는 한 명의 캐릭터 일치 | ?n |
an, in, 켜기 | 달렸다 |
[ ] |
다양한 캐릭터 일치 | [a-l\]ook |
책, 요리, 보기 | 했다 |
[ ] |
특정 캐릭터 일치 | [bc]ook |
책, 요리하다 | 후크 |
`* |
모든 문자를 리터럴로 일치(와일드카드 문자가 아님) | 12`*4 |
12*4 | 1234 |
동일한 단어 패턴에 여러 와일드카드 문자를 포함할 수 있습니다. 예를 들어 l 문자로 시작하는 이름의 텍스트 파일을 찾으려면 다음을 입력합니다.
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)"
}
}