プログラムdeタマゴ

nodamushiの著作物は、文章、画像、プログラムにかかわらず全てUnlicenseです

コマンドプロンプトからPowerShellに移行する

 どうもお久しぶりです。
 来月の8月に、ついにFirefoxも64bit版がでるそうです。
 常々、「64bit?情弱乙wwIE以外のブラウザが64bit対応してから移行するわww」とか思っていたわけで、ついに私も64bitに移行するべき時が来たようです。ぶっちゃけると、Firefoxがどうのこうのっていうより、単純に最近メモリーが足りない。それだけだったりする。


 さて、64bitに移行するのはいいものの、さすがに今使ってるのにそのままクリーンインストールするほど勇者じゃないです。
 バックアップをとってから移行します。そのとき、ついでなのでHDDからSSDにも移行してみることにしました。

 驚きの爆速です。OS,アプリケーションの起動が爆速ですよ〜(`・д´・ ;)。


 なんで今まで使ってこなかったんだ、と後悔。
 んで、アプリケーションがあんまり早く立ち上がるもんだから(Photoshopが数秒で立ち上がるレベル)ついに私がコマンドプロンプトを捨ててPowerShellに移行することにしました。
 今までPowerShellはなんだか、起動がもっさりしていたので何となく使うのにイライラしていたんですよね。結局高速に立ち上がるコマンドプロンプトに戻っちゃった訳なんですが、今はそんなこと関係ありません。

どこからでもPowerShellを呼べるようにする

 コマンドプロンプトはExplorerでShift+右クリックでコンテキストメニューに「ここで開く」という項目が現れるので起動が楽ちんです。同じようにPowerShellもコンテキストメニューから実行できるようにしておきます。


  1. レジストリエディタを起動
  2. \HKEY_CLASS_ROOT\Folder\shellにPowerShellキーを作成し、その下にcommandキーを作成する。
  3. \HKEY_CLASS_ROOT\Folder\shell\PowerShellの規定の値を「PowerShellをここで開く」に変更する
  4. \HKEY_CLASS_ROOT\Folder\shell\PowerShell\commandの規定の値を「C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoExit -Command "cd \"%V\"; if($Host.UI.RawUI.WindowTitle -match \"管理\"){$Host.UI.RawUI.WindowTitle=\"管理者:Windows PowerShell\"}else{$Host.UI.RawUI.WindowTitle=\"Windows PowerShell\"}"」に変更する。
  5. 同様に\HKEY_CLASS_ROOT\Directory\Background\shellにPowerShellキーを作成し、その下にcommandキーを作成し、同様に値を変更する。
  6. \HKEY_CLASS_ROOT\Directory\Background\shell\PowerShellに文字列「Position」を追加し、内容を「Top」にする。




 これで、いつでもPowerShellを起動できるようになりました。




プロファイルの設定

 PowerShellを起動したときに実行するスクリプトの設定をします。PowerShell上で

$profile

とタイプするとそのファイルの名前が表示されます。指定されたディレクトリがない場合は作成してください。
次にファイルの編集をします。

emacs $profile

Emacsが入っていない人はnotepadとかメモ帳とかサクラエディタとか秀丸とか適宜。

内容はたとえば私はこんなのを書いています。

function Set-LocationWorkSpace([string]$para){
    switch($para){
        "c"{Set-Location F:\Workspaces\c}
        "perl"{Set-Location F:\Workspaces\perl}
        "java"{Set-Location F:\Workspaces\java}
        "js"{Set-Location F:\Workspaces\javascript}
        default{Set-Location F:\Workspaces}
    }
}
Set-Alias workspace Set-LocationWorkSpace
Set-Alias ws Set-LocationWorkSpace

これで、どのディレクトリにいようと、workspaceまたはwsコマンドを発行するだけで一発でプログラミング用のフォルダーにぶっ飛べます。

ws java

batファイルで分岐はgoto使ってなんか面倒だけど、これなら楽ですな。


後は、Cygwinみたいにウィンドウが半透明にできればいいんだけどなぁ 
ハントウメイマダァ?(・∀・ )っ/凵⌒☆チンチン