PowerShell: コマンドレットのオンラインヘルプの見方
コマンドレットのヘルプを見る場合、
Get-Helpコマンドレットが使えます。
「Get-Help コマンドレット名」と入力すると
ローカルにあるヘルプ情報を表示し、
「Get-Help コマンドレット名 -Online」と入力すると
ブラウザが起動してオンラインヘルプを参照できます。
ヘルプの見やすさの点ではオンラインヘルプの方がおすすめです。
例として「Get-ChildItem」のオンラインヘルプにある パラメータの記述を見てみます。
Syntax Get-ChildItem [[-Path] <string[]>] [[-Filter] <string>] [-Include <string[]>] [-Exclude <string[]>] [-Recurse] [-Depth <uint32>] [-Force] [-Name] [-Attributes <FlagsExpression[FileAttributes]>] [-FollowSymlink] [-Directory] [-File] [-Hidden] [-ReadOnly] [-System] [<CommonParameters>]
まずは1番目のパラメータを見てみます。
[[-Path] <string[]>]
-Pathがパラメータ名で<string[]>がパラメータ値です。 stringの後に角括弧[]があるかどうかで単数・複数と意味が異なります。 <string>とある場合は単一の文字列ですが、 <string[]>とある場合は複数の文字列が指定可能です。
下の赤字部分に注目してください。 一番外側の角括弧[]と-Pathを囲む角括弧[]は そのパラメータが省略可能であることを意味します。
[[-Path] <string[]>]
次の2つの指定方法は同じ意味になります。
Get-ChildItem -Path D:\test # -Pathを省略 Get-ChildItem D:\test
次は2番目のパラメータです。
[[-Filter] <string>]
stringの後に角括弧[]がないので単一の文字列がパラメータ値となります。 1番目のパラメータと同じく一番外側の角括弧[]と-Filterを囲む角括弧[]は 省略可能を意味します。
次に5番目のパラメータを見てみます。
[-Recurse]
-Recurseはパラメータ名のみでパラメータ値がありません。 このようなパラメータをスイッチパラメータと言います。 -Recurseと記述した場合は機能がONとなり、 記述しない場合は機能がOFFとなります。 -Recurseを囲む 角括弧[]はこのパラメータが省略可能なことを意味します。
次は6番目のパラメータです。
[-Depth <uint32>]
uint32は符号なし整数です。 [-Path]や[-Filter]と違って-Depth自体は角括弧[]で囲まれていないため、 このパラメータを指定する場合はパラメータ名の-Depthを必ず記述する必要があります。
# 正しい指定方法 Get-ChildItem -Depth 2 # 間違った指定方法 -Depth省略 Get-ChildItem 2 # エラー
まとめ
コマンドレットのヘルプを見たい場合、 「Get-Help コマンドレット名 -Online」と入力すると ブラウザが起動してオンラインヘルプが見れます。
パラメータの指定方法は一見ややこしく見えますが、 パラメータ名、パラメータ値、 省略可能な角括弧[]、OF/OFFを切り替えるスイッチパラメータ、 複数のパラメータ値などの意味がわかると 難しくありません。