указать регулярное выражение точка `.` и `..` в powershell для поиска файлов/каталогов?

указать регулярное выражение точка `.` и `..` в powershell для поиска файлов/каталогов?

Я нахожу, что 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$' }

Связанный контент