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 where
és foreach
.
A gyűjtemények (leggyakrabban tömbök) tagjain használhat metódust anélkül, hogy a szkriptblokkon belül az automatikus változóra $_
hivatkozik.
Fontolja meg 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 alatt a gyűjtemény objektumainak tagjain dolgozó összehasonlító operátorok paraméterként lesznek kezelve. Metódust a gyűjtemény objektumaira anélkül hívhat meg, hogy a szkriptblokkon belül az 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 paraméter paramétereké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 próbálja visszaadni azokat az elemeket, 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évparamétereként ForEach-Object
lesz átadva.
A metódus meghívása a keresési minta paraméterrel .*
történik.
Az eredmények a FileInfo
felhasználói kezdőkönyvtárak összes Unix-stílusú rejtett fájljának rekordjai.
Get-ChildItem /home -Directory | foreach GetFiles .*
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: