Dot tem um significado especial para nomes de arquivos, então você tem que usar Where-Object (ou seu formato curto) para esse tipo de filtragem:
Get-ChildItem . | Where-Object { $_.Name -match '^q.e$' }
Eu acho o powershell de certa forma, posso fazer regexes de forma limitada. Sem dúvida, pode fazer mais, mas não vejo por que não está aqui. Estou tentando usar um regex para especificar arquivos / diretórios.
Por exemplo, quando eu tenho um diretório chamado 'qwe', isso irá mostrar
PS C:\Users\bob\a> Get-ChildItem C:\Users\bob\a\[qwe][qwe][qwe]
d---- 24/08/2014 1:28 PM qwe
Mas não posso fazer
PS C:\Users\bob\a> Get-ChildItem C:\Users\bob\a\q.e
(para pegar o diretório qwe)
E se eu fizer
PS C:\Users\bob\a> Get-ChildItem C:\Users\bob\a\..
Em seguida, ele retorna a um diretório e não há como encontrar um arquivo / dir de 2 ou mais caracteres, com o regex ..
No entanto, ele suporta esse aspecto de expressões regulares [abcd] (uma classe de caractere para corresponder a 'a' ou 'b' ou 'c' ou 'd') ou [az], embora seja um pouco não regular como [abcd] corresponde apenas onde o resultado é um caractere. Com um regex adequado, normalmente corresponderia a qualquer coisa com esse caracter, inclusive quando há mais do que esse caractere.
Tags regex powershell