about_Simplified_Syntax

Rövid leírás

Az objektumgyűjtemények szkriptszűrőinek egyszerűbb, természetesebb nyelvi módjait ismerteti.

Hosszú leírás

A Windows PowerShell 3.0-ban bevezetett egyszerűsített szintaxis lehetővé teszi, hogy szkriptblokkok használata nélkül hozzon létre néhány szűrőparancsot. Az egyszerűsített szintaxis jobban hasonlít a természetes nyelvre, és elsősorban olyan objektumgyűjtemények esetén hasznos, amelyek parancsokba Where-Object és ForEach-Object azok megfelelő aliasaiba whereforeachés .

Metódust a gyűjtemények (leggyakrabban tömbök) tagjain használhat anélkül, hogy a szkriptblokkban lévő automatikus változóra $_ hivatkozhat.

Vegye figyelembe a következő két meghívást:

Standard szintaxis

dir Cert:\LocalMachine\Root | where { $_.FriendlyName -eq 'Verisign' }
dir Cert:\ -Recurse | foreach { $_.GetKeyAlgorithm() }

Egyszerűsített szintaxis

Az egyszerűsített szintaxis szerint a gyűjtemény objektumainak tagjain dolgozó összehasonlító operátorokat a rendszer paraméterekként kezeli. Metódust a gyűjtemény objektumaira anélkül hívhat meg, hogy a szkriptblokkban lévő automatikus változóra $_ hivatkozik. Hasonlítsa össze az alábbi két meghívást az előző példában szereplőkkel:

dir Cert:\LocalMachine\Root | where FriendlyName -eq 'Verisign'
dir Cert:\ -Recurse | foreach GetKeyAlgorithm

Bár mindkét szintaxis működik, az egyszerűsített szintaxis az eredményeket a szkriptblokkon belüli automatikus változóra $_ való hivatkozás nélkül adja vissza. A metódus neve GetKeyAlgorithm a következő paraméterként lesz kezelve ForEach-Object: . A második parancs ugyanazokat az eredményeket adja vissza, de hiba nélkül, mivel az egyszerűsített szintaxis nem kísérli meg olyan elemek eredményeit visszaadni, amelyekre a megadott argumentum nem vonatkozott.

Ebben a példában a Process tulajdonság Description tagnév paraméterként lesz átadva a ForEach-Object parancsnak. Az eredmények az aktív folyamatok leírásai.

Get-Process | foreach Description

Ebben a példában a DirectoryInfo metódus GetFiles a parancs tagnév paramétereként ForEach-Object lesz átadva. A metódus a keresési minta paraméterrel .*van meghívva. Az eredmények a FileInfo felhasználói kezdőkönyvtárakban található összes Unix-stílusú rejtett fájl rekordjai.

Get-ChildItem /home -Directory | foreach GetFiles .*

Lásd még