PowerShell 相当于 Unix 的“哪个”命令?

PowerShell 相当于 Unix 的“哪个”命令?

whichPowerShell 是否有与大多数(如果不是全部)Unix shell 中的命令等效的命令?

很多时候,我都想知道从命令行运行的某个程序的位置。在 Unix 中,我只需输入which <command>,它就会告诉我。我在 PowerShell 中找不到等效的命令。

答案1

Stack Overflow 上有人提出这个问题并给出了答案:PowerShell 中 *Nix‘哪个’命令的等效项?

当我在 PowerShell 中开始自定义我的配置文件时,我创建的第一个别名是“which”。

New-Alias 获取命令

要将其添加到您的个人资料,请输入:

“`nNew-Alias 获取命令”| 添加内容 $profile

最后一行开头的 `n 是为了确保它将作为新行开始。

答案2

从 PowerShell 3.0 开始,你可以这样做

(Get-Command cmd).Path

与普通的 Get-Command 相比,它还有一个好处,即返回一个,System.String这样您就可以获得干净的 *nixy 单行输出,就像您可能习惯的那样。使用 gcm 别名,我们可以将其缩减为 11 个字符。

(gcm cmd).Path

答案3

2008 年也回答过:Windows 命令行上是否有与‘which’等效的命令?

尝试where如果您安装了资源工具包,则命令。

答案中最重要的部分:

Windows Server 2003 及更高版本提供了WHERE执行部分功能的命令,但它匹配所有类型的文件,而不仅仅是可执行命令。

[剪辑]

在 Windows PowerShell 中,您必须键入where.exe

答案4

function which([string]$cmd) {gcm -ErrorAction "SilentlyContinue" $cmd | ft Definition}

相关内容