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.
Ofta måste du utforma en cmdlet för att köras mot en grupp resurser i stället för mot en enda resurs. En cmdlet kan till exempel behöva hitta alla filer i ett datalager som har samma namn eller tillägg. Du måste ge stöd för jokertecken när du utformar en cmdlet som ska köras mot en grupp med resurser.
Anmärkning
Att använda jokertecken kallas ibland globbande.
Windows PowerShell-cmdletar som använder jokertecken
Många Windows PowerShell-cmdletar stöder jokertecken för sina parametervärden. Till exempel stöder nästan varje cmdlet som har en Name- eller Path-parameter jokertecken för dessa parametrar. (Även om de flesta cmdletar som har en Path parameter också har en LiteralPath parameter som inte stöder jokertecken.) Följande kommando visar hur ett jokertecken används för att returnera alla cmdletar i den aktuella sessionen vars namn innehåller get-verbet.
Get-Command get-*
Jokertecken som stöds
Windows PowerShell stöder följande jokertecken.
| Wildcard | Beskrivning | Exempel | Tändstickor | Matchar inte |
|---|---|---|---|---|
| * | Matchar noll eller fler tecken med början vid den angivna positionen | a* |
A, ag, Apple | |
| ? | Matchar alla tecken på den angivna positionen | ?n |
En, in, på | rann |
| [ ] | Matchar ett intervall med tecken | [a-l]ook |
bok, kock, titta | nook, tog |
| [ ] | Matchar de angivna tecknen | [bn]ook |
bok, skrymslen | laga mat, titta |
När du utformar cmdletar som stöder jokertecken kan du använda kombinationer av jokertecken. Följande kommando använder till exempel cmdleten Get-ChildItem för att hämta alla .txt filer som finns i mappen C:\Techdocs och som börjar med bokstäverna "a" via "l".
Get-ChildItem C:\techdocs\[a-l]\*.txt
Föregående kommando använder intervallet jokertecken [a-l] för att ange att filnamnet ska börja med tecknen "a" till "l" och använder * jokertecken som platshållare för alla tecken mellan den första bokstaven i filnamnet och .txt filnamnstillägget.
I följande exempel används ett jokerteckenmönster för intervall som exkluderar bokstaven "d" men som innehåller alla andra bokstäver från "a" till "f".
Get-ChildItem C:\techdocs\[a-cef]\*.txt
Hantera literaltecken i jokerteckenmönster
Om jokerteckenmönstret som du anger innehåller literaltecken som inte ska tolkas som jokertecken använder du backtick-tecknet (`) som ett escape-tecken. När du anger literaltecken i PowerShell-API:et använder du en enda backtick. När du anger literaltecken i PowerShell-kommandotolken använder du två backticks.
Följande mönster innehåller till exempel två hakparenteser som måste tas bokstavligen.
När det används i PowerShell-API:et används:
- "John Smith '[*']"
När den används från PowerShell-kommandotolken:
- "John Smith ''[*'']"
Det här mönstret matchar "John Smith [Marketing]" eller "John Smith [Development]". Till exempel:
PS> "John Smith [Marketing]" -like "John Smith ``[*``]"
True
PS> "John Smith [Development]" -like "John Smith ``[*``]"
True
Cmdlet-utdata och jokertecken
När cmdletparametrar stöder jokertecken genererar åtgärden vanligtvis en matrisutdata.
Ibland är det inte meningsfullt att stödja en matrisutdata eftersom användaren kanske bara använder ett enda objekt. Cmdleten Set-Location stöder till exempel inte matrisutdata eftersom användaren endast anger en enda plats. I det här fallet stöder cmdleten fortfarande jokertecken, men den tvingar upplösning till en enda plats.