Compartir a través de


Compatibilidad con caracteres comodín en los parámetros del cmdlet

A menudo, tendrá que diseñar un cmdlet para ejecutarse en un grupo de recursos en lugar de en un único recurso. Por ejemplo, un cmdlet podría necesitar buscar todos los archivos de un almacén de datos que tengan el mismo nombre o extensión. Debe proporcionar compatibilidad con caracteres comodín al diseñar un cmdlet que se ejecutará en un grupo de recursos.

Nota:

A veces, el uso de caracteres comodín se conoce como .

Cmdlets de Windows PowerShell que usan caracteres comodín

Muchos cmdlets de Windows PowerShell admiten caracteres comodín para sus valores de parámetro. Por ejemplo, casi todos los cmdlets que tienen un parámetro Name o Path admiten caracteres comodín para estos parámetros. (Aunque la mayoría de los cmdlets que tienen un parámetro Path también tienen un parámetro LiteralPath que no admite caracteres comodín). El comando siguiente muestra cómo se usa un carácter comodín para devolver todos los cmdlets de la sesión actual cuyo nombre contiene el verbo Get.

Get-Command get-*

Caracteres comodín admitidos

Windows PowerShell admite los siguientes caracteres comodín.

Carácter comodín Descripción Ejemplo Coincidencias No coincide
* Coincide con cero o más caracteres, empezando por la posición especificada. a* A, ag, Apple
? Coincide con cualquier carácter en la posición especificada. ?n An, in, on corrió
[ ] Coincide con un intervalo de caracteres [a-l]ook book, cook, look nook, tomé
[ ] Coincide con los caracteres especificados [bn]ook book, nook cook, look

Al diseñar cmdlets que admiten caracteres comodín, permita combinaciones de caracteres comodín. Por ejemplo, el siguiente comando usa el cmdlet Get-ChildItem para recuperar todos los archivos .txt que se encuentran en la carpeta C:\Techdocs y que comienzan con las letras "a" a "l".

Get-ChildItem C:\techdocs\[a-l]\*.txt

El comando anterior usa el carácter comodín de intervalo [a-l] para especificar que el nombre de archivo debe comenzar con los caracteres "a" a "l" y usa el carácter comodín * como marcador de posición para los caracteres entre la primera letra del nombre de archivo y la extensión .txt.

En el ejemplo siguiente se usa un patrón de caracteres comodín de rango que excluye la letra "d", pero que incluye todas las demás letras de "a" a "f".

Get-ChildItem C:\techdocs\[a-cef]\*.txt

Control de caracteres literales en patrones de caracteres comodín

Si el patrón de caracteres comodín que especifique contiene caracteres literales que no deben interpretarse como caracteres comodín, use el carácter de barra trasera (`) como carácter de escape. Al especificar caracteres literales en la API de PowerShell, use una sola barra trasera. Al especificar caracteres literales en el símbolo del sistema de PowerShell, use dos acentos.

Por ejemplo, el siguiente patrón contiene dos corchetes que se deben tomar literalmente.

Cuando se usa en la API de PowerShell, use:

  • "John Smith '[*']"

Cuando se usa desde el símbolo del sistema de PowerShell:

  • "John Smith ''[*'']"

Este patrón coincide con "John Smith [Marketing]" o "John Smith [Desarrollo]". Por ejemplo:

PS> "John Smith [Marketing]" -like "John Smith ``[*``]"
True

PS> "John Smith [Development]" -like "John Smith ``[*``]"
True

Caracteres comodín y salida del cmdlet

Cuando los parámetros de cmdlet admiten caracteres comodín, la operación normalmente genera una salida de matriz. En ocasiones, no tiene sentido admitir una salida de matriz porque el usuario puede usar solo un solo elemento. Por ejemplo, el cmdlet Set-Location no admite la salida de la matriz porque el usuario establece solo una sola ubicación. En este caso, el cmdlet todavía admite caracteres comodín, pero fuerza la resolución a una sola ubicación.

Véase también

escribir un cmdlet de Windows PowerShell

de clase WildcardPattern