有时候我们想知道一个软件装在哪里了,在 Linux 中我们可以使用 which 命令,在 windows 的 powershell 里没有 which,现在我们来添加一个 which 命令。
打开 $PsHome\profile.ps1
首先,打开 $PsHome
下的 profile.ps1
该文件会在每次启动 PowerShell 时自动加载
如果 $PsHome
目录下没有 profile.ps1
这个文件,可以手动新建一个 profile.ps1
然后复制到 $PsHome
如果不知道 $PsHome
的具体路径可以在 PowerShell 中输入 $PsHome
来查看:
PS C:\Users\PYGC> $PsHome
C:\Windows\System32\WindowsPowerShell\v1.0
PS C:\Users\PYGC>
实现 which
这里我用 VS Code 打开 $PsHome\profile.ps1
code $PsHome\profile.ps1
在打开的 profile.ps1
后追加以下内容
Function WHICHCMD {
$(Get-Command $args[0]).Source;
}
Set-Alias -Name which -Value WHICHCMD
保存重新打开 Powershell 就可以使用了,保存的时候会提示无权限,用管理员身份重试。
演示
PS C:\Users\PYGC> which python
C:\Users\PYGC\AppData\Local\Programs\Python\Python310\python.exe
PS C:\Users\PYGC> which node
C:\Users\PYGC\gitworks\github.com\emscripten-core\emsdk\node\14.18.2_64bit\bin\node.exe
PS C:\Users\PYGC> which java
C:\Program Files\Microsoft\jdk-11.0.12.7-hotspot\bin\java.exe
PS C:\Users\PYGC>
原理
在上述代码里用到了
点击查看他们的详细描述