about_Wildcards

Rövid leírás

Bemutatja, hogyan használhatók helyettesítő karakterek a PowerShellben.

Hosszú leírás

A helyettesítő karakterek egy vagy több karaktert jelölnek. Ezekkel szómintákat hozhat létre a parancsokban. A helyettesítő karaktereket az -like operátorral vagy bármely helyettesítő karaktert elfogadó paraméterrel használja a rendszer.

Ha például a könyvtárban lévő C:\Techdocs összes fájlt egy .ppt fájlnévkiterjesztéssel szeretné egyeztetni, írja be a következőt:

Get-ChildItem C:\Techdocs\*.ppt

Ebben az esetben a csillag (*) helyettesítő karakter a fájlnévkiterjesztés előtt .ppt megjelenő karaktereket jelöli.

A helyettesítő kifejezések egyszerűbbek, mint a reguláris kifejezések. További információ: about_Regular_Expressions.

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

Helyettesítő Leírás Példa Match Nincs egyezés
* Nulla vagy több karakter egyeztetése a* aA, ag, Apple banán
? Egy karakter egyeztetése az adott pozícióban ?n an, in, on Futott
[ ] Karaktertartomány egyeztetése [a-l\]ook könyv, szakács, nézd Vette
[ ] Adott karakterek egyeztetése [bc]ook könyv, szakács horog
`* Bármely karakter egyeztetése literálként (nem helyettesítő karakterként) 12`*4 12*4 1234

Ugyanabban a szómintában több helyettesítő karakter is szerepelhet. Ha például az al betűvel kezdődő neveket tartalmazó szövegfájlokat szeretné megkeresni, írja be a következőt:

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

Előfordulhat, hogy a literális karaktert nem helyettesítő karakterként szeretné kezelni. Ezekben az esetekben a backtick (`) karakterrel feloldhatja a helyettesítő karaktert, hogy a literális karakterértékkel hasonlítsa össze. Például egyezik a '*hello`?*' "hello?" sztringekkel.

Számos parancsmag helyettesítő karaktereket fogad el a paraméterértékekben. Az egyes parancsmagok súgótémaköre leírja, hogy mely paraméterek fogadnak el helyettesítő karaktereket. A helyettesítő karaktereket elfogadó paraméterek használata kis- és nagybetűket nem megkülönböztető.

A parancsokban és szkriptblokkokban helyettesítő karaktereket is használhat, például létrehozhat egy tulajdonságértékeket képviselő szómintát. Az alábbi parancs például lekéri azokat a szolgáltatásokat, amelyekben a ServiceType tulajdonság értéke interaktív.

Get-Service | Where-Object {$_.ServiceType -Like "*Interactive*"}

Az alábbi példában az If utasítás tartalmaz egy feltételt, amely helyettesítő karaktereket használ a tulajdonságértékek kereséséhez. Ha a visszaállítási pont leírása tartalmazza a PowerShellt, a parancs hozzáadja a visszaállítási pont CreationTime tulajdonságának értékét egy naplófájlhoz.

$p = Get-ComputerRestorePoint
foreach ($point in $p) {
  if ($point.description -like "*PowerShell*") {
    Add-Content -Path C:\TechDocs\RestoreLog.txt "$($point.CreationTime)"
  }
}

Lásd még