PowerShell Memo

このサイトはPowerShell(MSH/Monad)奮闘記です

管理人「newpops吉岡洋」が
「PowerShell(旧名:MSH/Monad)」の研究結果を日々綴っていきます。

【お知らせ】
この日記からPowerShellのTipsを抽出し「PowerShell FAQ」として整理しました。


2005-10-06

[]特殊変数(1)

以下のページで特殊変数について詳しく書かれています。

Special Variables


「$true」「$false」「$null」

最も基本的な特殊変数は「$true」「$false」「$null」の3つです。

それぞれ、

  • Boolean TRUE
  • Boolean FALSE
  • A null object

を表します。


「$_」

「$_」はパイプを通して渡されるオブジェクトを格納します。

foreachやwhereと一緒に利用する頻度が高いですね。

「$_」のサンプル:プロセス名一覧を列挙する
MSH C:\> get-process | foreach{$_.Name}

「$^」「$$」

「$^」と「$$」は、直前に実行されたシェルの最初のトークン/最後のトークンを格納します。

「$^」「$$」のサンプル
MSH C:\> get-process | where {$_.Name -like "w*"}

Handles  NPM(K)    PM(K)      WS(K) VS(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
    418      69     6220       2136    38    12.94    176 WINLOGON
    129      16     1092        680    24     4.02   1376 WinMgmt


MSH C:\> $^
get-process
MSH C:\> $$
}

「$?」

「$?」は最後に実行されたシェルの結果(success/fail)を格納します。

「$?」のサンプル
MSH C:\> $a = get-process
MSH C:\> $?
True
MSH C:\> $a = get-processs
'get-processs' is not recognized as a Cmdlet, function,
operable program, or script file.
At line:1 char:17
+ $a = get-processs <<<<
MSH C:\> $?
False