Functions for manipulating paths, PATH variable and PowerShell modules loading paths.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This module contains a few usefull functions for operating paths, PATH variable and PowerShell modules paths.


Install from PowershellGallery:

> Install-Module -Name PathUtils


Add some path to PATH variable:

> "c:\Program Files\Java\jdk1.8.0_74\bin\" | Add-ToPath
> java
Usage: java [-options] class [args...]
     (to execute a class)

Note: By default, the variable is modified in the process scope. If you want to persist the change, add -p switch

Refresh PATH variable (i.e. when modified by some other process)

> Refresh-Env

Check if given command is available on PATH (like where/which)

> Where-Is notepad

Source                               Name        CommandType Version
------                               ----        ----------- -------
c:\Program Files\Git\usr\bin\notepad notepad     Application
c:\Windows\System32\notepad.exe      notepad.exe Application
C:\Windows\notepad.exe               notepad.exe Application

Use a PowerShell module directly from source control

Let's say you found a usefull PowerShell module, like this one and you want to hack a little on it. Instead of dropping it in your PsModulesPath, you could use mklink to add a link to it in some predefined modules location.

> git clone
> Install-ModuleLink ps-pathutils/src/pathutils

Note: this command calls mklink underneath to creata a link in global modules directory (`c:\Program Files\WindowsPowerShell\Modules') and requires elevation.

While you're onto that, you can pull latest changes for this linked module, using Update-ModuleLink:

> update-modulelink pathutils
running git pull in 'C:\src\ps-modules\pathutils\src\pathutils'
Already up-to-date.