powershell 「$_」と「$PSItem」は同じ意味

PowerShellカテゴリを表すパンダのイラスト PowerShell

PowerShell の状態情報を格納する変数について

Powershellを始めると、最初の方でつまづく、一見意味のい記号のように感じる「$_」

サンプルを作る人が適当に決めた名前だと思っていたが、実は意味を持っていた。さらに「$_」と「$PSItem」は同じ意味になっている。

$_
$PSItem と同じ。 パイプラインオブジェクトの現在のオブジェクトを格納します。 この変数は、パイプライン内のすべてのオブジェクトまたは選択したオブジェクトに対してアクションを実行するコマンドで使用できます。
$PSItem
$_ と同じ。 パイプラインオブジェクトの現在のオブジェクトを格納します。 この変数は、パイプライン内のすべてのオブジェクトまたは選択したオブジェクトに対してアクションを実行するコマンドで使用できます。

自動変数について – PowerShell | Microsoft Docs

サンプルコード

検証用のサンプルコード

Get-Process | ForEach-Object -Process { 
  write-host '$PSItem:'$PSItem.Name.ToString() '$_:' $_.Name.ToString()
}

実行結果

実行結果をみると、確かに「$_」と「$PSItem」で、結果が同じになっている。

$PSItem: AggregatorHost $_: AggregatorHost
$PSItem: AppHelperCap $_: AppHelperCap
$PSItem: ApplicationFrameHost $_: ApplicationFrameHost
$PSItem: audiodg $_: audiodg
$PSItem: backgroundTaskHost $_: backgroundTaskHost
・・・・・

文書情報

記事タイトル
powershell 「$_」と「$PSItem」は同じ意味
作成日
更新日
Source URL
https://papanda925.com/?p=2153

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました