前回解説したPSドライブのようにPowerShellは記述力が高く、見た目の単純さからすると、比較的「難解」な言語だ。多くの言語では、変数名や関数名など、多くの「名前」やキーワードを使う。名前やキーワードは英単語をベースにして、理解しやすい表現を使うのが普通だ。

 これに対して、記号文字は、それぞれの言語で固有の意味があるものの、記号なので意味をくみ取ることは困難だ。つまり、記号文字に関しては、どんな言語でも定義を知らなければどうしようもない。

 ここでは、PowerShellの記号文字の使い方について、混乱しそうな部分を中心に簡単に解説する。記号文字の意味を理解すると、サンプルプログラムや他人の作ったPowerShellスクリプトの意味が理解しやすくなる。

 なお、この解説は、現状入手可能なPowerShell 3.0の文法定義ドキュメント「Windows PowerShell Language Specification Version 3.0(英語版のみ。Word文書)」を元にPowerShell 5.0で確認したことをベースにしている。また、名称などもこのドキュメントに準拠している。

PowerShellでの言葉の定義は

 PowerShellでは、最小の実行単位を「コマンド」と呼ぶ。Shellなのでそういう命名だが、この中には、コマンドレットやエイリアス(別名。別名でコマンドを呼び出す機能。例えばGet-ChildItemには、dirという別名が定義されている)、関数やフィルター、外部スクリプト、ワークフロー、外部のEXEプログラム(PowerShellでは、Applicationと呼ばれる)などが含まれている点に注意が必要だ。

 PowerShellで理解を困難している記号文字には、以下がある。

ドルマーク
アットマーク
{~}中括弧
(~)小括弧
コロン

 取りあえず、PowerShellに「入門」したあと、きちんと理解すべきは、この5つの記号とその組み合わせの意味だ。

 PowerShellでは全ての変数は、$を付けて使う。$は、後続する変数名と組み合わせて、PowerShellにそれが変数であることを示す。実行時には、変数は必ず展開されてパラメーターとしてコマンドに引き渡される。