PowerShell: コマンドレットのパラメータ指定方法
PowerShellでコマンドレットを使用する際、 コマンド単独でも使用できますが 多くの場合パラメータ(引数)を指定します。 ここではコマンドレットのパラメータの指定方法について解説します。
パラメータ名とパラメータ値
通常はコマンドレットの後にパラメータ名とパラメータ値を記述します。 コマンドレット、パラメータ名、パラメータ値の間には半角スペースを入れます。
コマンドレット -パラメータ名 パラメータ値 例 Get-ChildItem -Path d:\test
パラメータ値に半角スペースが含まれる場合はダブルクォート(")で囲みます。 上の例の場合は「"d:\test"」と記述しても動作しますが、 通常はダブルクォートで囲まずに「d:\test」と記述します。
スイッチパラメータ
パラメータ名を指定するだけで、 パラメータ値を持たないものをスイッチパラメータと言います。 スイッチのON/OFFを切り替えるように機能のON/OFFを設定できます。
コマンドレット -スイッチパラメータ 例 Get-ChildItem -Recurse
-Recurseパラメータは再帰的に子アイテムを取得することができます。 -Recurseがない場合は再帰的に取得しません。
パラメータ名を省略
パラメータ名を省略できるパラメータもあります。 最初に紹介した「Get-ChildItem -Path d:\test」の場合、 -Pathを省略して「Get-ChildItem d:\test」と記述しても 同じ結果を得られます。
Get-ChildItem -Path d:\test # 同じ意味 Get-ChildItem d:\test
このようにパラメータ名を省略できるものを「位置パラメータ」といい、 省略できないものを「名前付きパラメータ」といいます。
省略可能な位置パラメータはコマンドレットによって異なりますが、 上の例の-Pathのようにそのコマンドレットにとって当然必要となるパラメータが 位置パラメータとして省略可能になっているケースが多いです。
パラメータ値が複数ある場合
パラメータ名とパラメータ値の間はスペースで区切りますが、 パラメータ値が複数ある場合はカンマ(,)でパラメータ値を区切ります。
コマンドレット -パラメータ名 パラメータ値1, 値2,値3 例 Get-ChildItem -Path d:\test,d:\temp
上の記述例では、Pathパラメータに2つのパラメータ値を指定し、 d:\testとd:\tempフォルダの子アイテムを表示しています。