Podpora zástupných znaků v parametrech rutin
Často budete muset navrhnout rutinu tak, aby se spouštěl pro skupinu prostředků, a ne pro jeden prostředek. Rutina může například potřebovat vyhledat všechny soubory v datovém obchodě se stejným názvem nebo příponou. Při návrhu rutiny, která se bude spouštět pro skupinu prostředků, je nutné zajistit podporu pro zástupné znaky.
Poznámka
Použití zástupných znaků se někdy označuje jako zástupný znak.
Windows PowerShell Rutiny, které používají zástupné znaky
Mnoho Windows PowerShell rutin podporuje zástupné znaky pro jejich hodnoty parametrů. Například téměř každá rutina, která má parametr nebo , podporuje pro tyto parametry Name
Path
zástupné znaky. (Přestože většina rutin, které mají parametr, má také parametr, Path
LiteralPath
který nepodporuje zástupné znaky.) Následující příkaz ukazuje, jak se zástupný znak používá k vrácení všech rutin v aktuální relaci, jejichž název obsahuje příkaz Get.
Get-Command get-*
Podporované zástupné znaky
Windows PowerShell podporuje následující zástupné znaky.
Zástupný znak | Popis | Příklad | Shody | Neodpovídá |
---|---|---|---|---|
* | Odpovídá nule nebo více znakům počínaje zadanou pozicí. | a* |
A, ag, Apple | |
? | Odpovídá libovolnému znaku na zadané pozici. | ?n |
An, in, on | Běžel |
[ ] | Odpovídá rozsahu znaků. | [a-l]ook |
book, cook, look | nook, took |
[ ] | Odpovídá zadaným znakům. | [bn]ook |
book, nook | cook, look |
Při návrhu rutin, které podporují zástupné znaky, povolte kombinaci zástupných znaků. Například následující příkaz pomocí rutiny načte všechny soubory .txt, které jsou ve složce c:\Techdocs a začínají písmeny Get-ChildItem
"a" až "l".
Get-ChildItem c:\techdocs\[a-l]\*.txt
Předchozí příkaz používá zástupný znak rozsahu k určení, že název souboru by měl začínat znaky "a" až "l" a používá zástupný znak jako zástupný znak pro všechny znaky mezi prvním písmenem názvu souboru [a-l]
*
a .txt příponou.
Následující příklad používá vzor zástupných znaků pro rozsah, který vylučuje písmeno "d", ale obsahuje všechna ostatní písmena od "a" do "f".
Get-ChildItem c:\techdocs\[a-cef]\*.txt
Zpracování literálových znaků ve vzorech se zástupnými znaky
Pokud zadáte zástupný znak obsahuje literálové znaky, které by neměly být interpretovány jako zástupné znaky, použijte jako řídicí znak znak backtick ( `
). Když v rozhraní API PowerShellu zadáte literálové znaky, použijte jeden příkaz backtick. Při zadávání literálových znaků na příkazovém řádku PowerShellu použijte dva backticks.
Například následující vzor obsahuje dvě hranaté závorky, které je třeba vzít doslovně.
Při použití v rozhraní API PowerShellu použijte:
- "John Smith ` [*']"
Při použití z příkazového řádku PowerShellu:
- "John Smith ` ` [* ` ']"
Tento vzor odpovídá "John Smith [Marketing]" nebo "John Smith [Development]". Například:
PS> "John Smith [Marketing]" -like "John Smith ``[*``]"
True
PS> "John Smith [Development]" -like "John Smith ``[*``]"
True
Výstup rutiny a zástupné znaky
Pokud parametry rutiny podporují zástupné znaky, operace obvykle vygeneruje výstup pole.
V některých případech nemá smysl podporovat výstup pole, protože uživatel může použít pouze jednu položku. Například rutina Set-Location
nepodporuje výstup pole, protože uživatel nastaví pouze jedno umístění. V tomto případě rutina stále podporuje zástupné znaky, ale vynutí překlad do jednoho umístění.
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro