PowerShell ForEach-Object

Example

ForEach-Objectforeachステートメントと同様に機能しますが、パイプラインからの入力を取ります。

基本的な使用法

$object | ForEach-Object { code_block}

例:

$names = @("Any","Bob","Celine","David")$names | ForEach-Object { "Hi, my name is $_!"}

Foreach-Objectforeachforeachforeachforeachforeachforeachforeach%%foreachはforeachステートメントと混同される可能性があるためです。 例:

$names | % { "Hi, my name is $_!"} $names | foreach { "Hi, my name is $_!"} 

高度な使用法

Foreach-Objectforeachソリューションは、パイプラインを使用するように設計されたコ このため、コマンドレットや高度な機能と同じように、

  • Begin:パイプラインから到着するアイテムをループする前に一度実行されます。 通常、ループで使用する関数の作成、変数の作成、接続(データベース、web+)の開始などに使用されます。
  • プロセス:パイプラインから到着したアイテムごとに一度実行されます。 “通常の”コードブロックのために。 これは、上記の例でパラメータが指定されていない場合に使用されるデフォルトです。
  • End:すべての項目を処理した後に一度実行されます。 通常、接続を閉じたり、レポートを生成したりするために使用されます。

例:

"Any","Bob","Celine","David" | ForEach-Object -Begin { $results = @()} -Process { #Create and store message $results += "Hi, my name is $_!"} -End { #Count messages and output Write-Host "Total messages: $($results.Count)" $results}