PowerShell equivalent to the Unix `which` command?
Does PowerShell have an equivalent to the which
command found in most (if not all) Unix shells?
There are a number of times I'd like to know the location of something I'm running from the command line. In Unix I just do which <command>
, and it tells me. I can't find an equivalent in PowerShell.
This was asked and answered on Stack Overflow: Equivalent of *Nix 'which' command in PowerShell?
The very first alias I made once I started customizing my profile in PowerShell was 'which'.
New-Alias which get-command
To add this to your profile, type this:
"`nNew-Alias which get-command" | add-content $profile
The `n at the start of the last line is to ensure it will start as a new line.
As of PowerShell 3.0, you can do
(Get-Command cmd).Path
Which also has the benefit over vanilla Get-Command of returning a System.String
so you get a clean *nixy single line output like you may be used to. Using the gcm alias, we can take it down to 11 characters.
(gcm cmd).Path