about_Wildcards
Descripción breve
Describe cómo usar caracteres comodín en PowerShell.
Descripción larga
Los caracteres comodín representan uno o varios caracteres. Puede usarlos para crear patrones de palabra en comandos. Las expresiones comodín se usan con el -like
operador o con cualquier parámetro que acepte caracteres comodín.
Por ejemplo, para que coincida con todos los archivos del C:\Techdocs
directorio con una .ppt
extensión de nombre de archivo, escriba:
Get-ChildItem C:\Techdocs\*.ppt
En este caso, el carácter comodín asterisco (*
) representa los caracteres que aparecen antes de la extensión de .ppt
nombre de archivo.
Las expresiones comodín son más sencillas que las expresiones regulares. Para obtener más información, consulte about_Regular_Expressions.
PowerShell admite los siguientes caracteres comodín:
*
- Coincidir con cero o más caracteresa*
coincide conaA
,ag
yApple
a*
no coincidebanana
?
- Para las cadenas, coincide con un carácter en esa posición.?n
coincide conan
,in
yon
?n
no coincideran
?
- Para archivos y directorios, coincida con cero o un carácter en esa posición.?.txt
coincidenciasa.txt
yb.txt
?.txt
no coincideab.txt
[ ]
- Coincidencia de un intervalo de caracteres[a-l]ook
coincide conbook
,cook
ylook
[a-l]ook
no coincidetook
[ ]
- Coincidencia de caracteres específicos[bc]ook
coincidenciasbook
ycook
[bc]ook
no coincidehook
`*
- Coincide con cualquier carácter como literal (no comodín)12`*4
coincide con12*4
12`*4
no coincide1234
Puede incluir varios caracteres comodín en el mismo patrón de palabras. Por ejemplo, para buscar archivos de texto con nombres que comiencen con las letras a a la l, escriba:
Get-ChildItem C:\Techdocs\[a-l]*.txt
Nota:
La coincidencia de caracteres comodín para los elementos del sistema de archivos funciona de forma diferente a la de las cadenas. Para obtener más información, vea la sección Comentarios del método DirectoryInfo.GetFiles(String, EnumerationOptions).
Puede haber casos en los que quiera que coincida con el carácter literal en lugar de tratarlo como carácter comodín. En esos casos, puede usar el carácter de retroceso (`
) para escapar el carácter comodín para que se compare con el valor de carácter literal. Por ejemplo, '*hello`?*'
coincide con cadenas que contienen "hello?".
Muchos cmdlets aceptan caracteres comodín en valores de parámetro. En el tema de Ayuda de cada cmdlet se describe qué parámetros aceptan caracteres comodín. Para los parámetros que aceptan caracteres comodín, su uso no distingue mayúsculas de minúsculas.
Puede usar caracteres comodín en comandos y bloques de script, como para crear un patrón de palabras que represente valores de propiedad. Por ejemplo, el siguiente comando obtiene servicios en los que el valor de la propiedad ServiceType incluye Interactive.
Get-Service | Where-Object {$_.ServiceType -Like "*Interactive*"}
En el ejemplo siguiente, la If
instrucción incluye una condición que usa caracteres comodín para buscar valores de propiedad. Si la descripción del punto de restauración incluye PowerShell, el comando agrega el valor de la propiedad CreationTime del punto de restauración a un archivo de registro.
$p = Get-ComputerRestorePoint
foreach ($point in $p) {
if ($point.description -like "*PowerShell*") {
Add-Content -Path C:\TechDocs\RestoreLog.txt "$($point.CreationTime)"
}
}