
Powershell은 어떤 면에서 제한된 범위 내에서 정규 표현식을 수행할 수 있습니다. 의심할 여지 없이 더 많은 일을 할 수 있지만 왜 여기에 없는지 알 수 없습니다. 정규식을 사용하여 파일/디렉토리를 지정하려고 합니다.
예를 들어, 'qwe'라는 디렉토리가 있으면 이를 표시합니다.
PS C:\Users\bob\a> Get-ChildItem C:\Users\bob\a\[qwe][qwe][qwe]
d---- 24/08/2014 1:28 PM qwe
하지만 난 할 수 없어
PS C:\Users\bob\a> Get-ChildItem C:\Users\bob\a\q.e
(qwe 디렉토리를 선택하기 위해)
그리고 만약 내가 그렇게 한다면
PS C:\Users\bob\a> Get-ChildItem C:\Users\bob\a\..
그런 다음 디렉토리로 돌아가서 정규식을 사용하여 2자 이상 또는 심지어 2자의 파일/디렉터리와 일치하도록 찾을 수 있는 방법이 없습니다...
그러나 정규식 [abcd]('a', 'b', 'c' 또는 'd'와 일치하는 문자 클래스) 또는 [az]의 이러한 측면을 지원하지만 [abcd]와 같이 다소 비정규식입니다. 결과가 한 문자인 경우에만 일치합니다. 적절한 정규식을 사용하면 일반적으로 해당 문자 이상이 있는 경우를 포함하여 해당 문자와 모든 항목과 일치합니다.
답변1
도트는 파일 이름에 대해 특별한 의미를 가지므로 이러한 유형의 필터링에는 Where-Object(또는 짧은 형식)를 사용해야 합니다.
Get-ChildItem . | Where-Object { $_.Name -match '^q.e$' }