¿Especifique el punto de expresión regular `.` y `..` en PowerShell para buscar archivos/directorios?

¿Especifique el punto de expresión regular `.` y `..` en PowerShell para buscar archivos/directorios?

Encuentro que PowerShell de alguna manera puede hacer expresiones regulares hasta cierto punto. Sin duda puede hacer más, pero no veo por qué no está aquí. Estoy intentando usar una expresión regular para especificar archivos/directorios.

Por ejemplo, cuando tengo un directorio llamado 'qwe' esto lo mostrará

PS C:\Users\bob\a> Get-ChildItem C:\Users\bob\a\[qwe][qwe][qwe]

d----        24/08/2014   1:28 PM            qwe

pero no puedo hacer

PS C:\Users\bob\a> Get-ChildItem C:\Users\bob\a\q.e

(para recoger el directorio qwe)

Y si lo hago

PS C:\Users\bob\a> Get-ChildItem C:\Users\bob\a\..

Luego regresa a un directorio y no hay manera de que pueda encontrar que coincida con un archivo/directorio de más de 2 caracteres o incluso 2 caracteres, con la expresión regular..

Sin embargo, admite este aspecto de las expresiones regulares [abcd] (una clase de carácter que coincide con una 'a', una 'b', una 'c' o una 'd') o [az], aunque es algo no regular como [abcd] solo coincide cuando el resultado es un carácter. Con una expresión regular adecuada, normalmente coincidiría con cualquier cosa con ese carácter, incluso cuando hay más de ese carácter allí.

Respuesta1

Dot tiene un significado especial para los nombres de archivos, por lo que debes usar Where-Object (o su forma corta) para este tipo de filtrado:

Get-ChildItem . | Where-Object { $_.Name -match '^q.e$' }

información relacionada