My profile.ps1(1)
海外だと自分のprofile.ps1を紹介している人がちらほらいますが、国内だと見かけないですね。
試しに少しだけ公開してみます。
要望があれば続きます。
A〜ZドライブへCDするエイリアスを作成する
デフォルトのprofile.ps1についているコードです。
変更前
& { for ($i = 0; $i -lt 26; $i++) { $funcname = ([System.Char]($i+65)) + ':' $str = "function global:$funcname { set-location $funcname } " invoke-Expression $str } }
変更後
& { for ($i = 0; $i -lt 26; $i++) { $funcname = ([System.Char]($i+65)) + ':' $str = "function global:$funcname { set-location $funcname\ } " invoke-Expression $str } }
何が変わったでしょう?(^^;
変更前のコードだと・・・
例えば、C: というエイリアスは set-location C: に対応するのだけれど、
これだと、カレントが「C:\WINDOWS」の時に「C:」と打ってもカレントが変更されない。
Cドライブに移動しなさい
というコマンドなので、元からCドライブだし・・・とPowerShellがごねる訳です。orz
変更後のコードだと・・・
C: というエイリアスが set-location C:\ に対応するので、
C:\に移動しなさい。
というコマンドなのでカレントが「C:\WINDOWS」だとしても、
PowerShellは大人しく「C:\」に移動してくれます。
ぷちトリビア。
オブジェクトの型名(フルパス)を取得する
私の最も利用頻度の高い関数です。
############################################################# # 関数名 Get-Type # 概要 オブジェクトの型名(フルパス)を取得する # 内容 # # エイリアス gt ############################################################# function Get-Type([Object]$obj) { if($obj -ne $null) { $obj.gettype().fullname } } Set-Alias gt Get-Type