about_Wildcards

Breve descrição

Descreve como utilizar carateres universais no PowerShell.

Descrição longa

Os carateres universais representam um ou muitos carateres. Pode utilizá-los para criar padrões de palavras em comandos. As expressões universais são utilizadas com o -like operador ou com qualquer parâmetro que aceite carateres universais.

Por exemplo, para corresponder todos os ficheiros no C:\Techdocs diretório com uma .ppt extensão de nome de ficheiro, escreva:

Get-ChildItem C:\Techdocs\*.ppt

Neste caso, o caráter universal asterisco (*) representa os carateres que aparecem antes da extensão de nome de .ppt ficheiro.

As expressões universais são mais simples do que as expressões normais. Para obter mais informações, veja about_Regular_Expressions.

O PowerShell suporta os seguintes carateres universais:

  • * - Corresponder zero ou mais carateres
    • a* corresponde aAa , age Apple
    • a* não corresponde banana
  • ? - Corresponder um caráter nessa posição
    • ?n corresponde ana , ine on
    • ?n não corresponde ran
  • [ ] - Corresponder um intervalo de carateres
    • [a-l]ook corresponde booka , cooke look
    • [a-l]ook não corresponde took
  • [ ] - Corresponder carateres específicos
    • [bc]ook correspondências book e cook
    • [bc]ook não corresponde hook
  • `* - Corresponder qualquer caráter como literal (não um caráter universal)
    • 12`*4 correspondências 12*4
    • 12`*4 não corresponde 1234

Pode incluir múltiplos carateres universais no mesmo padrão de palavra. Por exemplo, para localizar ficheiros de texto com nomes que comecem com as letras a a l, escreva:

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

Pode haver casos em que pretende corresponder ao caráter literal em vez de o tratar como um caráter universal. Nesses casos, pode utilizar o caráter de acento anterior (`) para escapar ao caráter universal para que seja comparado com o valor de caráter literal. Por exemplo, '*hello`?*' corresponde a cadeias que contêm "olá?".

Muitos cmdlets aceitam carateres universais em valores de parâmetros. O tópico de Ajuda para cada cmdlet descreve os parâmetros que aceitam carateres universais. Para parâmetros que aceitam carateres universais, a sua utilização não é sensível a maiúsculas e minúsculas.

Pode utilizar carateres universais em comandos e blocos de script, como para criar um padrão de palavra que representa valores de propriedade. Por exemplo, o comando seguinte obtém serviços nos quais o valor da propriedade ServiceType inclui Interativo.

Get-Service | Where-Object {$_.ServiceType -Like "*Interactive*"}

No exemplo seguinte, a If instrução inclui uma condição que utiliza carateres universais para localizar valores de propriedade. Se a Descrição do ponto de restauro incluir o PowerShell, o comando adiciona o valor da propriedade CreationTime do ponto de restauro a um ficheiro de registo.

$p = Get-ComputerRestorePoint
foreach ($point in $p) {
  if ($point.description -like "*PowerShell*") {
    Add-Content -Path C:\TechDocs\RestoreLog.txt "$($point.CreationTime)"
  }
}

Ver também