Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
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 operador -like o con cualquier parámetro que acepte caracteres comodín.
Por ejemplo, para que coincida con todos los archivos del directorio C:\Techdocs con una extensión de nombre de archivo .ppt, 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 nombre de archivo .ppt.
Las expresiones comodín son más sencillas que las expresiones regulares. Para obtener más información, vea about_Regular_Expressions.
PowerShell admite los siguientes caracteres comodín:
-
*: coincidencia con cero o más caracteres-
a*coincide conaA,agyApple -
a*no coincide conbanana
-
-
?: en el caso de las cadenas, coincida con un carácter en esa posición.-
?ncoincide conan,inyon -
?nno coincide conran
-
-
?: para archivos y directorios, coincida con cero o un carácter en esa posición.-
?.txtcoincide cona.txtyb.txt -
?.txtno coincide conab.txt
-
-
[ ]: coincidencia de un intervalo de caracteres-
[a-l]ookcoincide conbook,cookylook -
[a-l]ookno coincide contook
-
-
[ ]: coincidencia de caracteres específicos-
[bc]ookcoincide conbookycook -
[bc]ookno coincide conhook
-
-
`*: coincide con cualquier carácter como literal (no comodín)-
12`*4coincide con12*4 -
12`*4no coincide con1234
-
Puede incluir varios caracteres comodín en el mismo patrón de palabras. Por ejemplo, para buscar archivos de texto con nombres que comiencen por las letras un a través de l, escriba:
Get-ChildItem C:\Techdocs\[a-l]*.txt
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 scripts, como para crear un patrón de palabras que represente valores de propiedad. Por ejemplo, el comando siguiente 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 instrucción if incluye una condición que usa caracteres comodín para buscar valores de propiedad. Si el 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)"
}
}
Escape de caracteres comodín en nombres de archivo y directorio
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 de del método DirectoryInfo.GetFiles(String, EnumerationOptions).
Al intentar acceder a un archivo o directorio que contiene caracteres comodín, debe escapar los caracteres comodín. Tenga en cuenta los siguientes archivos:
PS> Get-ChildItem
Directory: D:\temp\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 11/3/2025 3:39 PM 41 file[1].txt
-a--- 11/3/2025 3:39 PM 41 file[2].txt
-a--- 11/3/2025 3:39 PM 41 file[3].txt
Los caracteres entre corchetes ([]) son caracteres comodín, por lo que deben escaparse al intentar obtener el archivo mediante uno de los cmdlets Item, como Get-Item.
PS> Get-Item file`[1`].txt
Sin embargo, se produjo un error en este ejemplo porque el valor de nombre de archivo está enlazado al parámetro Path , que admite caracteres comodín. En este caso, el `[ patrón se resuelve como sin formato [, que el parámetro Path interpreta como carácter comodín. Hay tres maneras de resolver esto:
Escape de los caracteres de retroceso.
PS> Get-Item -Path file``[1``].txt Directory: D:\temp\test Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 11/3/2025 3:39 PM 41 file[1].txtColoque el nombre de archivo entre comillas simples para que las operaciones inversas no se expanden antes de enlazarse al parámetro Path .
PS> Get-Item -Path 'file`[1`].txt' Directory: D:\temp\test Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 11/3/2025 3:39 PM 41 file[1].txtUso del parámetro LiteralPath
PS> Get-Item -LiteralPath file[1].txt Directory: D:\temp\test Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 11/3/2025 3:39 PM 41 file[1].txt