PowerShellのプロファイルを設定する

PowerShellの起動時に設定しておきたい内容はLinuxなどと同じ様にプロファイルに保存しておけます。
プロファイルの場所は下記のコマンドで確認できます。

> $profile


プロファイルを設定したことがない状態では$profileでパスが表示されるものの、表示されたパスにファイルは存在しないので作成する必要があります。

> New-Item -type file force $profile


プロファイルを作成したら編集を行います。メモ帳などでもOK

> notepad $profile

今回はxyzzyで編集sたのでこんなでした。

> c:\programs\xyzzy\xyzzycli.exe $profile


プロファイルの設定が完了したらPowerShellを再起動するか下記のコマンドを実行すると内容が反映されます。

> . $profile


今回はプロンプトの色、プロンプトの表示、エイリアスの設定をしています。
色の設定は

(Get-Host).UI.RawUI.BackgroundColor = "Black"
(Get-Host).UI.RawUI.ForegroundColor = "Green"

背景を黒、文字を緑に変更する設定です。


プロンプトの表示はdebian風(?)にしてみました。

function prompt {
   $idx = $pwd.ProviderPath.LastIndexof("\") + 1
   $cdn = $pwd.ProviderPath.Remove(0, $idx)

   $env:UserName + "@" + $env:UserDomain + ":" + $cdn + "> "
}

$idxにはカレントディレクトリ文字列内の最後の「\」の位置を取得して、$cdnでカレントディレクトリのフルパス文字列最初から$idxまでを削除した文字列を取得しています。


よく使うエディタxyzzyはパスを通すのではなくxyzzycli.exeにxyzzyというエイリアスを設定しておきます。

Set-Alias xyzzy c:\programs\xyzzy\xyzzycli.exe


このまま起動させるとPowerShellのコピーライトが白、背景が紺のままプロンプトと入力した文字だけが設定色になるという悲しい状態だったので最後にプロンプト内をクリアするようにしました。

Clear-Host