2007年8月23日木曜日

Windows PowerShell

このブログ記事をはてなブックマークに追加

Windows PowerShellとは、Microsoft Windowsで利用できる強力なコマンドラインシェルおよびスクリプト言語のことだ。これまでのWindowsでは貧弱なコマンドプロンプトしか実装されていなかったので、コマンドラインで一括処理などをさせることが難しかった。それをUnixの同等以上の性能のシェルを開発することでその問題を解決した。

たとえば、Unix上で、

% find . -name "*.txt" -print

という処理は、

> Get-ChildItem . -include *.txt -recurse

とする。また、以下のスクリプトを、たとえば find.ps1 とファイルに保存すれば、

Param([String]$root, [String]$filename) Get-ChildItem $root -include $filename -recurse

> ./find.ps1 . *.txt

と実行すれば同じ結果を得ることができる。さらに、

> Get-WMIObject Win32_LogicalDisk -filter "DriveType = 3" | Select-Object DeviceID | ForEach-Object {Get-Childitem ($_.DeviceID + "\") -include *.txt -recurse}

とすれば、存在するすべてのハードディスク上のテキストファイルを探すことができる。PowerShell上ではすべてがオブジェクトとして処理される。

ただし、PowerShellはWindowsに最初から入っているわけではないので、Microsoftの公式サイトからダウンロードしてこなくてはならない。

Windows PowerShellでのスクリプティング

これでようやくWindowsでもまともな処理ができるかもしれない。

0 コメント: