A InfoWiki wikiből
(→Foreach-Object) |
(→Szintaktika) |
||
14. sor: | 14. sor: | ||
== Szintaktika == | == Szintaktika == | ||
- | '''ForEach-Object [-process] <ScriptBlock[]> [-inputObject <psobject>] [- | + | '''ForEach-Object [-process] <ScriptBlock[]> [-inputObject <psobject>] [-begin <scriptblock>] [-end <scriptblock>] [<CommonParameters>] |
''' | ''' | ||
+ | |||
+ | Látható, hogy a Foreach-Object-nek három szkriptblokkot lehet megadni paraméterként: az első szkriptblokkban szereplő utasítás(oka)t a ciklus elvégzése alatt, a második szkriptblokkot a ciklus kezdése előtt, a harmadik szkriptblokk utasításait pedig a ciklus befejeztével hajtja végre. | ||
+ | |||
+ | '''Most nézzük meg az egyes paramétereket külön-külön.'''([ ] között írt paraméterek nem kötelezőek): | ||
+ | |||
+ | '''-process <ScriptBlock[]>''': egy kötelező paraméter, mely meghatározza azt a szkriptblokkot, amit mindegyik bemenő objektumra alkalmaz. | ||
+ | |||
+ | '''[-inputObject <psobject>]''': Egy olyan objektumot vár, amit az első szkriptblokk, meghatároz a paraméterében. Olyan vátozót kell írni, ami tartalmazza ezt az objektumot, vagy olyan parancsot/kifejezést adjunk meg, ami az objektumot adja eredményül. | ||
+ | |||
+ | '''[-begin <scriptblock>]''': meghatározza azt a szkript-blokkot, amit végrehajtunk, mielőtt feldolgoznánk az input-objektumokat. Vagyis ezáltal a paraméter által meghatározott utasítássorozatot fogjuk kezdésként végrehajtani. | ||
+ | |||
+ | '''[-end <scriptblock>]''': ezt pedig a Foreach-Object ciklusa után fogjuk végrehajtani. | ||
+ | |||
+ | '''[<CommonParameters>]''': az az paraméter, amelyet minden cmdlet alkalmazhat. A Foreach-Object a következő általános paramétereket használhatja: | ||
+ | -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutVariable. |
A lap 2008. december 11., 19:24-kori változata
Foreach-Object
A Foreach-Object cmdlet hasonlóan működik, mint egy ciklus. Használatával egy adott műveletet végezhetünk el egy gyűjteményben (melyet felfoghatunk listaként) levő valamennyi objektumon. Alias-ai a % és a foreach (mely nem összetévesztendő a foreach kulcsszóval.) Most nézzünk meg egy egyszerű példát:
Get-Childitem | Foreach-Object {$_.Name}
A fenti példában a gyűjtemény a Get-Childitem cmdlet eredménye, A Foreach-Object pedig a $_.Name változó (mely az aktuális sor Name oszlopbeli elemét tartalmazza) használatával kilistázza ciklus működéssel a Get-Childitem kimenetének a Name nevű oszlopát:
Szintaktika
ForEach-Object [-process] <ScriptBlock[]> [-inputObject <psobject>] [-begin <scriptblock>] [-end <scriptblock>] [<CommonParameters>]
Látható, hogy a Foreach-Object-nek három szkriptblokkot lehet megadni paraméterként: az első szkriptblokkban szereplő utasítás(oka)t a ciklus elvégzése alatt, a második szkriptblokkot a ciklus kezdése előtt, a harmadik szkriptblokk utasításait pedig a ciklus befejeztével hajtja végre.
Most nézzük meg az egyes paramétereket külön-külön.([ ] között írt paraméterek nem kötelezőek):
-process <ScriptBlock[]>: egy kötelező paraméter, mely meghatározza azt a szkriptblokkot, amit mindegyik bemenő objektumra alkalmaz.
[-inputObject <psobject>]: Egy olyan objektumot vár, amit az első szkriptblokk, meghatároz a paraméterében. Olyan vátozót kell írni, ami tartalmazza ezt az objektumot, vagy olyan parancsot/kifejezést adjunk meg, ami az objektumot adja eredményül.
[-begin <scriptblock>]: meghatározza azt a szkript-blokkot, amit végrehajtunk, mielőtt feldolgoznánk az input-objektumokat. Vagyis ezáltal a paraméter által meghatározott utasítássorozatot fogjuk kezdésként végrehajtani.
[-end <scriptblock>]: ezt pedig a Foreach-Object ciklusa után fogjuk végrehajtani.
[<CommonParameters>]: az az paraméter, amelyet minden cmdlet alkalmazhat. A Foreach-Object a következő általános paramétereket használhatja: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutVariable.