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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de