Windows PowerShell を使ってみる

WSHに替わる次世代シェル「Windows PowerShell」。ほんのちょっと触ってみた。
特徴としては、

  • UNIXLinux)と同様のコマンドが使える。(cygwin使いの自分としてはとてもうれしい!)
  • .net Framework のクラス、メソッドを呼び出せる。
  • UNIXでおなじみのパイプを実装しているが、パイプの中を流れるのはテキストデータではなくオブジェクトである。

とのこと。http://www.atmarkit.co.jp/fdotnet/special/powershell01/powershell01_01.html の受け売りですね。


では早速開始。
http://www.microsoft.com/downloads/details.aspx?FamilyID=30125A46-B97C-4704-AA10-605E809D5933&displaylang=ja
からダウンロードしてインストール。スタートメニューからWindows PowerShellを実行。
コマンドプロンプトと同じ地味な画面が現れました。

cd / [enter] でCドライブの最上階へ移動。さてこれからいよいよ。
ls [enter]
わーい動いたー。

ls コマンドの引数の詳細が知りたいので、
ls --help [enter]

エラーでした。。ここでマニュアルを見始める。なになに、コマンドのヘルプを見るには get-help を使うこと
get-help ls [enter]

表示されたけど画面が一気に流れてしまったぞ。more とか指定しなければならないのか?
get-help ls | more [enter]

動いた。でもUNIX系ならmoreじゃなくてlessだよね
get-help ls | less [enter]これも同じように動いた
(訂正:2007/05/02 less というコマンドレット、エイリアスは存在しません。申し訳ありません。どうやらCygwinのPathが通っていたようで、Cygwinのlessコマンドを読んでしまっていたようです。このような場合、less --help とやってヘルプが表示されれば、「おぬし、PowerShellではないな。」と見破ることができます。)


なに?「Help 関数は、一度に 1 画面分のヘルプを表示します。」
先に言ってくれ。
help ls [enter]
で more、lessと同じ動きをします。ここまできて言うのもなんですが
man help [enter]
でも全く同じ画面が表示されます。

clear [enter] で画面消去も問題なく動いた。


まとめると、ヘルプを呼び出すには
1. × ls /?      コマンドプロンプト時代のやり方
2. × ls --help       UNIX(Linix)形式のやり方
3. ○ get-help ls      ただし画面がだぁーっと流れる
4. ○ get-help ls | more
5. ○ get-help ls | less
6. ○ help ls
7. ○ man ls         UNIXLinux)形式のやり方

4、5、6、7 は全く同じ挙動を示す。


今日はここまで。今度は.net Framework呼び出してみよう。