未分類

PowerShell - 定義済み変数を使用する

Windows PowerShell の定義済み変数について説明します。

パイプライン処理で渡されたオブジェクト (Get-ChildItem コマンドレットの処理結果) を $_ 変数を使用して処理

Get-ChildItem | Where-Object{$_.length -gt 10000}

(補足説明)
正確には、Get-ChildItem などのコマンドレットの結果はオブジェクトの配列としてパイプラインを流れてきます。そのオブジェクトの配列が Where-Object {} スクリプトブロックの中で自動的にループ処理されます。そしてその個々のオブジェクトが $_ 変数に格納されます。尚、パイプラインで流れてきたものがオブジェクトの配列でなくオブジェクトの場合は、そのオブジェクトだけが $_ に格納されます。この場合のループ処理は 1 回です。

直前に実行したコマンドの最初のトークンを $^ 変数を使用して取得

Get-Help Get-Command
$^

直前に実行したコマンドの最後のトークンを $$ 変数を使用して取得

Get-Help Get-Command
$$

直前に実行したコマンドの実行結果を $? 変数を使用して処理

成功ならば Trueが、失敗ならば False が格納されています。

Get-ChildItem
$?

PowerShell のインストールディレクトリを $PSHOME 変数を使用して取得

$PSHOME

$DebugPreference 変数に実行モードを設定するすことで、デバッグモードに切り替え

$DebugPreference = "Inquire"

null 変数を使用

$i = $null
$i -eq $null

true 変数を使用

$b = $true
$b

false 変数を使用

$b = $false
$b

-未分類