Kommentar
Å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 en parameter som accepterar jokertecken.
Om du till exempel vill matcha alla filer i katalogen C:\Techdocs med filnamnstillägget .ppt 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:
| Jokertecken | Beskrivning | Exempel | Tändsticka | Ingen matchning |
|---|---|---|---|---|
* |
Matcha noll eller flera tecken | a* |
aA, ag, äpple | banan |
? |
Matcha ett tecken i den positionen | ?n |
en, i, på | rann |
[ ] |
Matcha ett intervall med tecken | [a-l\]ook |
bok, kock, titta | intog |
[ ] |
Matcha specifika tecken | [bc]ook |
boka, laga mat | krok |
`* |
Matcha valfritt tecken som en literal (inte ett jokertecken) | 12`*4 |
12*4 | 1234 |
Du kan inkludera flera jokertecken i samma ordmönster. Om du till exempel vill hitta textfiler med namn som börjar med bokstäverna en via lskriver du:
Get-ChildItem C:\Techdocs\[a-l]*.txt
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 tecknet backtick (`) för att undkomma jokertecknet så att det jämförs med literalteckenvärdet. Till exempel matchar '*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 If-instruktionen ett villkor som använder jokertecken för att hitta egenskapsvärden. Om återställningspunktens Beskrivning innehåller PowerShelllägger kommandot till värdet för återställningspunktens egenskap CreationTime i en loggfil.
$p = Get-ComputerRestorePoint
foreach ($point in $p) {
if ($point.description -like "*PowerShell*") {
Add-Content -Path C:\TechDocs\RestoreLog.txt "$($point.CreationTime)"
}
}