WindowsPowerShellでHelloWorld

WindowsPowerShellとは、Windows7以降に標準搭載されているスクリプト言語です。
比較的新しい言語であり、従来のWindowsバッチ(cmd.exe)に慣れていると取っつきにくい面もあるのですが、後発である分高機能であり、実務でも使うことがあります。

今回は、WindowsPowerShellの簡単な説明を添えながらHelloWorldを3つ試してみます。


1つ目は、echoコマンドを用いたHelloWorldです。
WindowsPowerShellでは、従来のWindowsバッチやLinuxのBashシェルに近い感覚で処理を書くことができます。
他には、変数やif文やパイプといった、お馴染みの書き方が可能です。
ちなみに、少し変わった所では、例外処理をtry-catchやthrowといった書き方で記述することも可能です(こちらはjavaやC#に近いです)。

なお、WindowsPowerShellは、セキュリティ上の関係で、標準設定では直接実行することができません。
設定を変えずに実行するためには、一時的にポリシーを変更して実行する必要があります。
(今回の例では、Windowsバッチを介して実行します)

【サンプルコード】

・Hello.ps1

・Hello.bat

【実行結果】


2つ目は、コマンドレットを用いたHelloWorldです。
コマンドレットは、「動詞-名詞(-パラメータ名 パラメータ値)」という規則で命令を記述します。

今回は、”Write-Host”を使用します。
“Write”は文字列の書き込み、”Host”はコンソールを意味します。
(なお、WindowsPowerShellでは、コンソールへの出力とストリーム(パイプ)への出力は別々に制御します。ストリームに出力したい場合は、”Host”の代わりに”Output”を指定します。)

【サンプルコード】

・Hello.ps1

※Hello.batは変更無し

【実行結果】


3つ目は、.NetFrameworkの機能を使用したHelloWorldです。
WindowsPowerShellでは、.NetFrameworkの機能を使用することもできます。
例えば、”Hello World!!”と書かれたポップアップを表示することができます。

今回の例では、コマンドレットでWindowsFormを取り込み、MessageBoxクラスのShowメソッドを使用してポップアップを表示します。
記述方法はサンプルコードの通りですが、クラス名とメソッド名の記述方法はC++に似ています。

【サンプルコード】

・Hello.ps1

※Hello.batは変更無し

【実行結果】


いかがでしたでしょうか。

Windows7の前の時代からIT業界に居た方にとっては、WindowsPowerShellはもしかしたら馴染みが薄いかもしれません。
また、標準の設定では直接実行できない、というのも取っつきにくいと思います。

しかし、コマンドレットや.NetFrameworkによって提供される機能は強力で、実務でもWindowsPowerShellのスクリプトを見かけるようになってきています。
なので、WindowsPowerShellにも慣れておいた方が無難ではないかと思います。

便利な機能があれば、今後紹介していこうと思います!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA