Megosztás a következőn keresztül:


Helyettesítő karakterek támogatása parancsmag-paraméterekben

Gyakran úgy kell megterveznie egy parancsmagot, hogy egy erőforráscsoporton fusson, nem pedig egyetlen erőforráson. Előfordulhat például, hogy egy parancsmagnak egy azonos nevű vagy kiterjesztésű adattárban található összes fájlt meg kell keresnie. Ha olyan parancsmagot tervez, amely egy erőforráscsoporton fog futni, támogatnia kell a helyettesítő karaktereket.

Megjegyzés

A helyettesítő karaktereket rövidítésnek is nevezik.

Helyettesítő karaktereket használó Windows PowerShell-parancsmagok

Számos Windows PowerShell-parancsmag támogatja a paraméterértékek helyettesítő karaktereit. Például szinte minden olyan parancsmag, amely rendelkezik Name vagy Path paraméterrel, támogatja a helyettesítő karaktereket ezekhez a paraméterekhez. (Bár a Path paraméterrel rendelkező parancsmagok többsége LiteralPath paraméterrel is rendelkezik, amely nem támogatja a helyettesítő karaktereket.) Az alábbi parancs bemutatja, hogy egy helyettesítő karakter hogyan adja vissza az aktuális munkamenet összes parancsmagját, amelynek a neve tartalmazza a Get igét.

Get-Command get-*

Támogatott helyettesítő karakterek

A Windows PowerShell a következő helyettesítő karaktereket támogatja.

Helyettesítő Leírás Példa Egyezések Nem egyezik
* Nullát vagy több karaktert egyezik meg a megadott pozíciótól kezdve a* A, ag, Apple
? A megadott pozícióban lévő bármely karakternek megfelel ?n An, in, on Futott
[ ] Egy karaktertartománynak felel meg [a-l]ook könyv, szakács, nézd zúdult, elvitte
[ ] Megfelel a megadott karaktereknek [bn]ook book, nook szakács, nézd

Ha helyettesítő karaktereket támogató parancsmagokat tervez, engedélyezze a helyettesítő karakterek kombinációját. A következő parancs például a Get-ChildItem parancsmaggal kéri le a C:\Techdocs mappában lévő összes .txt fájlt, amely az "a" és "l" betűkkel kezdődik.

Get-ChildItem C:\techdocs\[a-l]\*.txt

Az előző parancs a tartomány helyettesítő karakterével [a-l] határozza meg, hogy a fájlnévnek az "a" és "l" karakterekkel kell kezdődnie, és a * helyettesítő karaktert használja helyőrzőként a fájlnév első betűje és a .txt kiterjesztés közötti karakterekhez.

Az alábbi példa egy tartomány helyettesítő karaktermintáját használja, amely kizárja a "d" betűt, de tartalmazza az összes többi betűt az "a" és az "f" között.

Get-ChildItem C:\techdocs\[a-cef]\*.txt

Konstans karakterek kezelése helyettesítő karaktermintákban

Ha a megadott helyettesítő karakterminta olyan literális karaktereket tartalmaz, amelyeket nem szabad helyettesítő karakterként értelmezni, használja a backtick karaktert (`) escape karakterként. Ha a PowerShell API-ban konstans karaktereket ad meg, használjon egyetlen háttérjelet. Ha a PowerShell parancssorában konstans karaktereket ad meg, használjon két háttérjelet.

Az alábbi minta például két szögletes zárójelet tartalmaz, amelyeket szó szerint kell venni.

Ha a PowerShell API-ban használják, használja a következőket:

  • "John Smith "[*""

Ha a PowerShell parancssorából használja:

  • "John Smith ''[*'...""

Ez a minta megegyezik a "John Smith [Marketing]" vagy a "John Smith [Development]" értékkel. Például:

PS> "John Smith [Marketing]" -like "John Smith ``[*``]"
True

PS> "John Smith [Development]" -like "John Smith ``[*``]"
True

Parancsmag kimenete és helyettesítő karakterei

Ha a parancsmag paraméterei támogatják a helyettesítő karaktereket, a művelet általában tömbkimenetet hoz létre. Időnként nincs értelme tömbkimenetet támogatni, mert előfordulhat, hogy a felhasználó csak egyetlen elemet használ. A Set-Location parancsmag például nem támogatja a tömbkimenetet, mert a felhasználó csak egyetlen helyet állít be. Ebben a példában a parancsmag továbbra is támogatja a helyettesítő karaktereket, de a felbontást egyetlen helyre kényszeríti.

Lásd még:

Windows PowerShell-parancsmag írása

helyettesítő karakteres