Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kort beskrivning
Beskriver hur du använder jokertecken i PowerShell.
Lång beskrivning
Jokertecken representerar ett eller flera tecken. Du kan använda dem för att skapa ordmönster i kommandon. Jokerteckenuttryck används med operatorn -like eller med någon parameter som accepterar jokertecken.
Om du till exempel vill matcha alla filer i C:\Techdocs katalogen med ett .ppt filnamnstillägg skriver du:
Get-ChildItem C:\Techdocs\*.ppt
I det här fallet representerar jokertecknet asterisk (*) alla tecken som visas före filnamnstillägget .ppt .
Jokerteckenuttryck är enklare än reguljära uttryck. Mer information finns i about_Regular_Expressions.
PowerShell stöder följande jokertecken:
- 
              *– Matcha noll eller fler tecken- 
              a*matcharaA,agochApple
- 
              a*matchar intebanana
 
- 
              
- 
              ?– För strängar matchar du ett tecken i den positionen- 
              ?nmatcharan,inochon
- 
              ?nmatchar interan
 
- 
              
- 
              ?– För filer och kataloger matchar du noll eller ett tecken i den positionen- 
              ?.txtmatchningara.txtochb.txt
- 
              ?.txtmatchar inteab.txt
 
- 
              
- 
              [ ]– Matcha ett intervall med tecken- 
              [a-l]ookmatcharbook,cookochlook
- 
              [a-l]ookmatchar intetook
 
- 
              
- 
              [ ]– Matcha specifika tecken- 
              [bc]ookmatchningarbookochcook
- 
              [bc]ookmatchar intehook
 
- 
              
- 
              `*- Matcha ett tecken som en literal (inte ett jokertecken)- 
              12`*4tändstickor12*4
- 
              12`*4matchar inte1234
 
- 
              
Du kan inkludera flera jokertecken i samma ordmönster. Om du till exempel vill hitta textfiler med namn som börjar med bokstäverna a till och med l skriver du:
Get-ChildItem C:\Techdocs\[a-l]*.txt
Kommentar
Jokerteckenmatchning för filsystemobjekt fungerar annorlunda än för strängar. Mer information finns i avsnittet Anmärkningar i metoden DirectoryInfo.GetFiles(String, EnumerationOptions).
Det kan finnas fall där du vill matcha literaltecknet i stället för att behandla det som ett jokertecken. I dessa fall kan du använda backtick-tecknet (`) för att undvika jokertecknet så att det jämförs med literalteckenvärdet. Matchar till exempel '*hello`?*' strängar som innehåller "hello?".
Många cmdletar accepterar jokertecken i parametervärden. I hjälpavsnittet för varje cmdlet beskrivs vilka parametrar som accepterar jokertecken. För parametrar som accepterar jokertecken är deras användning skiftlägeskänslig.
Du kan använda jokertecken i kommandon och skriptblock, till exempel för att skapa ett ordmönster som representerar egenskapsvärden. Följande kommando hämtar till exempel tjänster där egenskapsvärdet ServiceType innehåller Interaktiv.
Get-Service | Where-Object {$_.ServiceType -like "*Interactive*"}
I följande exempel innehåller -instruktionen if ett villkor som använder jokertecken för att hitta egenskapsvärden. Om återställningspunktens Beskrivning innehåller PowerShell lägger kommandot till värdet för återställningspunktens CreationTime-egenskap i en loggfil.
$p = Get-ComputerRestorePoint
foreach ($point in $p) {
  if ($point.Description -like "*PowerShell*") {
    Add-Content -Path C:\TechDocs\RestoreLog.txt "$($point.CreationTime)"
  }
}