2009年8月27日木曜日

Windows PowerShellを便利に使うための10のミニテクニック

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

Microsoftが提供していてWindows 7では標準搭載になるWindows PowerShellがもっと広まって欲しいこともあって、CodeZineWindowsのコマンドプロンプトを便利に使うための10のミニテクニックのPowerShell版を書いてみた。

まず、Windows PowerShell 2.0 CTP3をダウンロードして、インストールする。さらに便利に使うためにPowerShell Community ExtensionsからPSCX 1.2をダウンロード・インストールする。

さて、これで準備が整った。因みに以下のテクニックは、Windows XP、Vista、Windows 7のどのOSでも使えると思う(ただし、確認したのはXPのみ)。

コマンドプロンプトからエクスプローラに移動する

以下のように起動するだけ。

ii .

エクスプローラからコマンドプロンプトに移動する

これは標準では難しいと思う。自分はエクスプローラの使い勝手には非常に不満を持っているので、ずいぶん前からWindowsではFileVisorを使っている。FileVisorであれば以下のコマンドをホットキーに登録しておくことで、現在のディレクトリをカレントディレクトリとして一発でPowerShellを開くことができる。

C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -NoExit -Command Set-Location $P

カレントディレクトリを記憶し、あとで戻ってくる

これはそのまま、pushd .popdが使える。

2つのディレクトリを行ったり来たりする

これもほとんど一緒。

doskey /exename=powershell.exe d1=cd $pwd

一時的にネットワークドライブを割り当てる必要はない

PowerShellではcdでそのままネットワークをまたげるので必要ないと思う。

cd \\computer1\project1\program1

処理結果をクリップボードにコピーする

ocb (Out-Clipboard)を使う。

dir | ocb tree | ocb

因みに、gcb (Get-Clipboard)を使うことで、PowerShell上に貼り付けもできる。

gcb

ずれたインデントを修正する

これもあまり変わらない。

more.com /t4 hello.c

ページごとに止めずに、一気に出力する。

more.com /t4 hello.c | echo

簡単な計算をする

setコマンドは使う必要はなく、そのまま計算させるだけ。

10-20+30 20

(10+20)*30/50 18

0xFF 255

因みに、小数も扱える。また、10進→16進変換は以下のようにすればできる。

"{0:X}" -f 255 FF

ファイルのタイムスタンプを変更する

UNIXのtouchコマンドと全く同じで以下のようにする。

touch file.ext

因みに、以下のようにもできる。

dir file.ext | % { $_.lastwritetime = get-date }

コマンドプロンプトの色やサイズを調整する

背景色を変える。

$host.ui.rawui.backgroundcolor = "blue"

画面の大きさを幅120桁、高さ50行に変える。

$host.ui.rawui.windowsize = new-object system.management.automation.host.size(120, 50)

画面のバッファを幅120桁、高さ3000行に変える。

$host.ui.rawui.buffersize = new-object system.management.automation.host.size(120, 3000)

おわりに

これを機にPowerShellが流行るといいなぁ。Windows 7では標準で付いてくるしね。

0 コメント: