PowerShell Memo

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

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

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


2005-10-18

[]特殊変数(2)

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

Special Variables

「$args」

「$args」はfunctionやScriptBlockの引数配列を格納します。

ScriptBlockの引数を表示する
MSH C:\> $a = {write-host $args[0] $args[1]}
MSH C:\> &$a 1 2 3 4
1 2

「$error」

「$error」はエラー発生時のオブジェクトを格納します。

エラー内容を表示する
MSH C:\> ls z:\
get-childitem : Cannot find drive. A drive with name 'z' does not exist.
At line:1 char:3
+ ls  <<<< z:\
MSH C:\> $error
get-childitem : Cannot find drive. A drive with name 'z' does not exist.
At line:1 char:3
+ ls  <<<< z:\

「$foreach」

「$foreach」はMSDNによると

Refers to the enumerator in a foreach loop.

とありますが、よく分かりません。

どう利用するのでしょう?

「$home」

ホームディレクトリです。

DOSプロンプトの「%HOMEDRIVE%\%HOMEPATH%」に相当します。

「$input」

「$input」はパイプを通してfunctionやScriptBlockに渡されたオブジェクトを格納します。

プロセス名を列挙する
MSH C:\> function pName
>> {
>>     foreach($process In $input){$process.name}
>> }
>>
MSH C:\> get-process | pName
Connection: close