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フォルダの子アイテムを表示しています。

PowerShell