PowerShell - スイッチパラメータとは
PowerShellのコマンドレットのパラメータの中でも、 パラメータ名を指定するだけで機能が有効になるものを 「スイッチパラメータ」と言います。
通常、パラメータにはパラメータ名とパラメータ値がありますが、 スイッチパラメータはパラメータ名を指定するだけです。 スイッチのON/OFFを切り替えるのと同じように、 機能のON/OFFを切り替えられます。
例を挙げると、
Get-ChildItem -Recurse
-Recurseがスイッチパラメータです。 -Recurseを指定することで再帰的に子アイテムを取得します。 -Recurseが無い場合は再帰的には取得されません。
Get-Help -Name コマンド名 -Online
-Onlineがスイッチパラメータです。 -Onlineを指定すると、 ブラウザでオンラインマニュアルが表示されます。 -Onlineが無い場合はPowerShellコンソール上に表示されます。
スイッチパラメータの見分け方
パラメータがスイッチパラメータかどうかを見分けるのは簡単です。 マニュアルを見た時に [-パラメータ名] となっているのがスイッチパラメータです。
例として、オンラインマニュアルから Get-ChildItemコマンドレットのパラメータの一部を見てみます。
Get-ChildItem [[-Path] <string[]>] [[-Filter] <string>] [-Include <string[]>] [-Exclude <string[]>] [-Recurse] [-Depth <uint32>] [-Force] [-Name]
上記の中で、[-パラメータ名]となっている -Recurse、-Force、-Nameがスイッチパラメータです。 それ以外のパラメータはパラメータ名の後にパラメータ値があるので違います。