This little tool lets you jump directly to your frequently used directories in PowerShell.
-
Start PowerShell
-
mkdir ~\Documents\WindowsPowerShell\Modules
(skip this step if the directory already exists or if you want to install the module somewhere else in your$Env:PSModulePath
) -
cd ~\Documents\WindowsPowerShell\Modules
-
git clone https://github.com/JannesMeyer/z.ps.git z
-
Include these lines in your
Profile.ps1
(usually located in~\Documents\WindowsPowerShell
)Import-Module z Set-Alias z Search-NavigationHistory function Prompt { Update-NavigationHistory $pwd.Path }
Instead of step 4 you can also create a link:
cmd /c mklink /d z [Path to z.ps]
Just cd around for a while to let the tool learn your directories.
Then you can use it as follows.
z asd # (where 'asd' is part of your desired location's path name)
You can also see a list of all matches before going there.
z -l asd
Furthermore, you can change the sort algorithm to prioritize recent locations, for example. (The default priorization is a combination of frequency and recency.)
z -l -s recent asd
The full output of Get-Help z
looks like this:
z [[-Patterns] <string>] [-List] [-SortOrder <string> {Default | Recent | Frequent}] [<CommonParameters>]
You can easily configure tab completion in your user profile by using the built in ArgumentCompleter
Register-ArgumentCompleter -CommandName z -ScriptBlock {
param($commandName, $parameterName, $wordToComplete)
Search-NavigationHistory $commandName -List | %{ $_.Path} | ForEach-Object {
New-Object -Type System.Management.Automation.CompletionResult -ArgumentList $_,
$_,
"ParameterValue",
$_
}
}
WTFPL
This program is free software. It comes without any warranty, to the extent permitted by applicable law. You can redistribute it and/or modify it under the terms of the Do What The Fuck You Want To Public License, Version 2, as published by Sam Hocevar. See http://sam.zoy.org/wtfpl/COPYING for more details.
Make module installation easier using http://psget.net/ or https://www.powershellgallery.com/