コマンドラインシェル PowerShell のことを勉強するため、1冊の解説書を購入しました。
五十嵐 貴之 著
「動くサンプルで学べる Windows PowerShell コマンド&スクリプティングガイド」 です。

さっそく、PowerShell でファイルやフォルダを新規作成するコマンドレット New-Item についての解説部分を読みました。
New-Itemで作成する項目がファイルなのかフォルダなのかを指定するパラメータ名は、-ItemType です。
ファイル作成では、New-Item -ItemType "File" と記述し、
フォルダ作成では、New-Item -ItemType "Directory" と記述します。
ところが、上記書籍では、ファイル作成のパラメータ名は「-ItemType」としているのに対し、フォルダ作成のパラメータ名は、単に「-Type」としています。
まさか、ファイル作成とフォルダ作成とで、パラメータ名が違うはずはありません。「これは記述ミスではないだろうか。」って思いました。
んで、ヘルプを出してみました。そうたら、両方ともパラメータ名は、「-ItemType」となっています。ほぉら、やっぱり。
こういうのは、実地で確かめる必要があります。コマンドラインに -Type と記述し、実地で試してみました。そうすると、-Type と記述してもエラーとなることなく、うまく実行されます。
あれれぇ?
これ、いったい、どゆこと?
調べてみると、パラメータ名は、 -Type でもよいことが分かりました。
その理屈は、パラメータ名の省略形に関するPowerShellの仕様です。PowerShell では、パラメータ名を一意に識別できる範囲ならば、つまり他のパラメータ名と区別できる限度でならば、省略形の記述可能の仕様となっているのです。
-Type は -ItemType の一部分ではありますが、他に Type で始まるパラメータが存在しないため、これで一意に識別できます。ですから、-Type は -ItemType の省略形として通用するわけです。
へぇぇ、知らんかった。これでまた、一つ賢くなりました。
それではまた次の記事で。
goosyun










