Suporte a caracteres curinga em parâmetros de cmdlet

Muitas vezes, você terá que criar um cmdlet para executar em um grupo de recursos em vez de em um único recurso. Por exemplo, um cmdlet pode precisar localizar todos os arquivos em um armazenamento de dados que têm o mesmo nome ou extensão. Você deve fornecer suporte para caracteres curinga ao criar um cmdlet que será executado em um grupo de recursos.

Observação

O uso de caracteres curinga às vezes é chamado de curinga.

Windows PowerShell Cmdlets que usam curingas

Muitos cmdlets Windows PowerShell suporte a caracteres curinga para seus valores de parâmetro. Por exemplo, quase todos os cmdlets que têm um parâmetro ou são compatíveis Name Path com caracteres curinga para esses parâmetros. (Embora a maioria dos cmdlets que têm um parâmetro também tenha um Path parâmetro que não dá suporte a LiteralPath caracteres curinga.) O comando a seguir mostra como um caractere curinga é usado para retornar todos os cmdlets na sessão atual cujo nome contém o verbo Get.

Get-Command get-*

Caracteres curinga com suporte

Windows PowerShell dá suporte aos seguintes caracteres curinga.

Curinga Descrição Exemplo Corresponde a Não corresponde a
* Corresponde a zero ou mais caracteres, começando na posição especificada a* A, ag, Apple
? Corresponde a qualquer caractere na posição especificada ?n Um, em, em Correu
[ ] Corresponde a um intervalo de caracteres [a-l]ook book, cook, look nook, levou
[ ] Corresponde aos caracteres especificados [bn]ook book, nook cook, look

Quando você projeta cmdlets que suportam caracteres curinga, permite combinações de caracteres curinga. Por exemplo, o comando a seguir usa o cmdlet para recuperar todos os arquivos .txt que estão na pasta c:\Techdocs e que começam com as letras Get-ChildItem "a" a "l".

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

O comando anterior usa o curinga de intervalo para especificar que o nome do arquivo deve começar com os caracteres "a" a "l" e usa o caractere curinga como um espaço reservado para qualquer caractere entre a primeira letra do nome do arquivo e a extensão [a-l] * .txt.

O exemplo a seguir usa um padrão curinga de intervalo que exclui a letra "d", mas inclui todas as outras letras de "a" a "f".

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

Manipulando caracteres literais em padrões curinga

Se o padrão curinga especificado contiver caracteres literais que não devem ser interpretados como caracteres curinga, use o caractere de acento voltar ( ) como ` um caractere de escape. Quando você especificar caracteres literais na API do PowerShell, use um único acento de fundo. Quando você especificar caracteres literais no prompt de comando do PowerShell, use dois acentos de fundo.

Por exemplo, o padrão a seguir contém dois colchetes que devem ser tirados literalmente.

Quando usado na API do PowerShell, use:

  • "John Smith ` [*']"

Quando usado no prompt de comando do PowerShell:

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

Esse padrão corresponde a "John Smith [Marketing]" ou "John Smith [Desenvolvimento]". Por exemplo:

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

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

Saída do cmdlet e caracteres curinga

Quando os parâmetros de cmdlet suportam caracteres curinga, a operação geralmente gera uma saída de matriz. Ocasionalmente, não faz sentido dar suporte a uma saída de matriz porque o usuário pode usar apenas um único item. Por exemplo, o Set-Location cmdlet não dá suporte à saída da matriz porque o usuário define apenas um único local. Nesse caso, o cmdlet ainda dá suporte a caracteres curinga, mas força a resolução para um único local.

Consulte Também

Escrevendo um Cmdlet do Windows PowerShell

Classe WildcardPattern