Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Muitas vezes, você terá que projetar um cmdlet para ser executado 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 tenham o mesmo nome ou extensão. Você deve fornecer suporte para caracteres curinga ao criar um cmdlet que será executado em relação a um grupo de recursos.
Observação
O uso de caracteres curinga às vezes é chamado de globbing.
Cmdlets do Windows PowerShell que usam curingas
Muitos cmdlets do Windows PowerShell oferecem suporte a caracteres curinga para seus valores de parâmetro. Por exemplo, quase todos os cmdlets que têm um parâmetro Name ou Path oferecem suporte a caracteres curinga para esses parâmetros. (Embora a maioria dos cmdlets que têm um parâmetro Path também tenha um parâmetro LiteralPath que não oferece suporte a 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 suportados
O Windows PowerShell oferece suporte aos seguintes caracteres curinga.
| Curinga | Descrição | Exemplo | Jogos | Não corresponde |
|---|---|---|---|---|
| * | Corresponde a zero ou mais caracteres, começando na posição especificada | a* |
A, ag, Maçã | |
| ? | Corresponde a qualquer caractere na posição especificada | ?n |
An, em, em | correu |
| [ ] | Corresponde a uma variedade de caracteres | [a-l]ook |
livro, cozinheiro, olhar | recanto, levou |
| [ ] | Corresponde aos caracteres especificados | [bn]ook |
livro, recanto | cozinhe, olhe |
Ao criar cmdlets que ofereçam suporte a caracteres curinga, permita combinações de caracteres curinga. Por exemplo, o comando a seguir usa o cmdlet Get-ChildItem para recuperar todos os arquivos .txt que estão na pasta C:\Techdocs e que começam com as letras "a" a "l".
Get-ChildItem C:\techdocs\[a-l]\*.txt
O comando anterior usa o [a-l] 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 quaisquer caracteres entre a primeira letra do nome do arquivo e a extensão .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 tick invertido (`) como um caractere de escape. Ao especificar caracteres literais na API do PowerShell, use um único backtick. Ao especificar caracteres literais no prompt de comando do PowerShell, use dois backticks.
Por exemplo, o padrão a seguir contém dois colchetes que devem ser tomados literalmente.
Quando usado na API do PowerShell, use:
- "João Silva '[*']"
Quando usado no prompt de comando do PowerShell:
- "João Silva ''[*'']"
Este 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 do cmdlet oferecem suporte a caracteres curinga, a operação geralmente gera uma saída de matriz.
Ocasionalmente, não faz sentido oferecer suporte a uma saída de matriz porque o usuário pode usar apenas um único item. Por exemplo, o cmdlet Set-Location não oferece suporte à saída de matriz porque o usuário define apenas um único local. Nesse caso, o cmdlet ainda oferece suporte a caracteres curinga, mas força a resolução para um único local.