Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Descrição curta
Descreve como usar caracteres curinga no PowerShell.
Descrição longa
Os caracteres curinga representam um ou vários caracteres. Você pode usá-los para criar padrões de palavras em comandos. As expressões curinga são usadas com o -like operador ou com qualquer parâmetro que aceite curingas.
Por exemplo, para corresponder a todos os arquivos no C:\Techdocs diretório com uma extensão de nome de .ppt arquivo, digite:
Get-ChildItem C:\Techdocs\*.ppt
Nesse caso, o caractere curinga asterisco (*) representa todos os caracteres que aparecem antes da extensão do nome do .ppt arquivo.
As expressões curinga são mais simples do que as expressões regulares. Para obter mais informações, consulte about_Regular_Expressions.
O PowerShell dá suporte aos seguintes caracteres curinga:
-
*- Corresponder a zero ou mais caracteres-
a*corresponde aaA,ageApple -
a*não correspondebanana
-
-
?- Para strings, combine um caractere nessa posição-
?ncorresponde aan,ineon -
?nnão corresponderan
-
-
?- Para arquivos e diretórios, corresponda a zero ou um caractere nessa posição-
?.txtpartidasa.txteb.txt -
?.txtnão correspondeab.txt
-
-
[ ]- Combine uma variedade de personagens-
[a-l]ookcorresponde abook,cookelook -
[a-l]ooknão correspondetook
-
-
[ ]- Combine personagens específicos-
[bc]ookpartidasbookecook -
[bc]ooknão correspondehook
-
-
`*- Corresponder qualquer caractere como literal (não um caractere curinga)-
12`*4Corresponde12*4 -
12`*4não corresponde1234
-
Você pode incluir vários caracteres curinga no mesmo padrão de palavras. Por exemplo, para localizar arquivos de texto com nomes que começam com as letras de a a l, digite:
Get-ChildItem C:\Techdocs\[a-l]*.txt
Pode haver casos em que você deseja corresponder ao caractere literal em vez de tratá-lo como um caractere curinga. Nesses casos, você pode usar o caractere de acento grave (`) para escapar do caractere curinga para que ele seja comparado usando o valor do caractere literal. Por exemplo, '*hello`?*' corresponde a cadeias de caracteres contendo "olá?".
Muitos cmdlets aceitam caracteres curinga em valores de parâmetro. O tópico da Ajuda para cada cmdlet descreve quais parâmetros aceitam caracteres curinga. Para parâmetros que aceitam caracteres curinga, seu uso não diferencia maiúsculas de minúsculas.
Você pode usar caracteres curinga em comandos e blocos de script, como para criar um padrão de palavras que represente valores de propriedade. Por exemplo, o comando a seguir obtém serviços nos quais o valor da propriedade ServiceType inclui Interactive.
Get-Service | Where-Object {$_.ServiceType -like "*Interactive*"}
No exemplo a seguir, a if instrução inclui uma condição que usa caracteres curinga para localizar valores de propriedade. Se a Descrição do ponto de restauração incluir o PowerShell, o comando adicionará o valor da propriedade CreationTime do ponto de restauração a um arquivo de log.
$p = Get-ComputerRestorePoint
foreach ($point in $p) {
if ($point.Description -like "*PowerShell*") {
Add-Content -Path C:\TechDocs\RestoreLog.txt "$($point.CreationTime)"
}
}
Escape de caracteres curinga em nomes de arquivo e diretório
Observação
A correspondência de curinga para itens do sistema de arquivos funciona de maneira diferente do que para cadeias de caracteres. Para obter mais informações, consulte a seção Comentários do método DirectoryInfo.GetFiles(String, EnumerationOptions).
Quando você tenta acessar um arquivo ou diretório que contém caracteres curinga do nome, você deve escapar dos caracteres curinga. Considere os seguintes arquivos:
PS> Get-ChildItem
Directory: D:\temp\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 11/3/2025 3:39 PM 41 file[1].txt
-a--- 11/3/2025 3:39 PM 41 file[2].txt
-a--- 11/3/2025 3:39 PM 41 file[3].txt
Os caracteres de colchete ([]) são curingas, portanto, eles devem ser escapados ao tentar obter o arquivo usando um dos cmdlets item, como Get-Item.
PS> Get-Item file`[1`].txt
No entanto, este exemplo falhou porque o valor do nome do arquivo está associado ao parâmetro Path , que dá suporte a caracteres curinga. Nesse caso, o `[ padrão é resolvido como simples [, que o parâmetro Path interpreta como um curinga. Há três maneiras de resolver isso:
Escape dos caracteres de backtick.
PS> Get-Item -Path file``[1``].txt Directory: D:\temp\test Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 11/3/2025 3:39 PM 41 file[1].txtColoque o nome do arquivo entre aspas simples para que os backticks não sejam expandidos antes de serem associados ao parâmetro Path .
PS> Get-Item -Path 'file`[1`].txt' Directory: D:\temp\test Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 11/3/2025 3:39 PM 41 file[1].txtUsar o parâmetro LiteralPath
PS> Get-Item -LiteralPath file[1].txt Directory: D:\temp\test Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 11/3/2025 3:39 PM 41 file[1].txt