PowerShellで配列の各値を要素としたループのサンプルコードを以下に記します。
以下の例は、Get-ChildItemコマンドレットにより、ファイル一覧を取得し foreach により 取得したFileInfoオブジェクトのName Propertyを表示しています。
Get-ChildItem * | % { $_.Name }
上記のコードは以下と等価です。
Get-ChildItem * | foreach { $_.Name }
foreach は % と記述することができます。
以下、実際に実行した出力例です。
PS C:\> Get-ChildItem * | foreach { $_.Name } $WINDOWS.~BT AuthLog <省略> WBF 3.4 Windows IFRToolLog.txt Recovery.txt setup.log
尚、ディレクトリを含めた出力にしたい場合は、以下のようにすれば実現できます。
Get-ChildItem * | % { $_.FullName }
以下の例は配列を作成し、配列要素でループしているサンプルです。
PS C:\> $Ary = "Say", "Hello", "world" PS C:\> $Ary | % { $_ } Say Hello world
ハッシュの場合は以下のようにキーと値を取得します。
$h = @{"i1"="Say"; "i2"="Hello"; "i3"="world"} foreach ($k in $h.Keys) { $k + " = " + $h[$k] }
実際に実行した時の出力です。
並びは変わっていますが、Key = Value で表示されているのが確認できます。
PS C:\> $h = @{"i1"="Say"; "i2"="Hello"; "i3"="world"} PS C:\> foreach ($k in $h.Keys) { $k + " = " + $h[$k] } i2 = Hello i3 = world i1 = Say
以上、いろいろな要素でループするサンプルでした。