Pscx\Set-LocationEx はとても便利¶
2016/11/20
Pscx はいろいろな cmdlet を定義しておりとても
便利ですが今回は Pscx\Set-LocationEx
をば。
通常 Linux では cd -
で移動前にいたパスに移動できるようです。 (今回の記事で
僕は初めて知った。。。)
Pscx をインストールして有効化すると cd
に対して Pscx\Set-LocationEx
が
エイリアスとしてつきます。
この cmdlet を利用すると前述の cd -
のみならず、 cd +
も使えるようになり
ます。
C:\Users\tomo
[2016/39/20 12:39:55] PS ~\
> cd .\misc\
C:\Users\tomo\misc
[2016/39/20 12:39:59] PS ~\misc
> cd .\dotfiles\
C:\Users\tomo\misc\dotfiles
(git:master) [2016/40/20 12:40:01] PS ~\misc\dotfiles
> Pscx\Set-LocationEx
# Directory Stack:
--- ----------------
0 C:\Users\tomo
1 C:\Users\tomo\misc
-> 2 C:\Users\tomo\misc\dotfiles
この状態で cd -
cd +
を利用すると、
以下のようにディレクトリを移動できます。
C:\Users\tomo\misc\dotfiles
(git:master) [2016/40/20 12:40:13] PS ~\misc\dotfiles
> cd -
C:\Users\tomo\misc
[2016/40/20 12:40:21] PS ~\misc
> cd +
C:\Users\tomo\misc\dotfiles
(git:master) [2016/40/20 12:40:27] PS ~\misc\dotfiles
とても便利なので活用してみてください。
ただ僕は引数無しの cd は $HOME
ディレクトリに移動してほしい口なので、
別途以下のように定義して利用しています。
Remove-Item Alias:cd
Function cd() {
Param(
[Parameter(Mandatory = $false, Position = 0)]
[string]$Path
)
Process {
if([string]::IsNullOrEmpty("$Path")){
Pscx\Set-LocationEx -Path $HOME
}else{
Pscx\Set-LocationEx -Path $Path
}
}
}