Windows 中与 Unix 中的“which”命令等效的命令是什么?是否有等效的 PowerShell 命令?

Windows 中与 Unix 中的“which”命令等效的命令是什么?是否有等效的 PowerShell 命令?

在 Linux 中,我们可以使用“which”命令来查找可执行文件的路径。Windows
中对应的命令是什么?是否有任何 PowerShell 命令可以执行此操作?

答案1

较新版本的 Windows(我认为是 Windows 2003 及更高版本)有 where 命令:

C:\>where ping
C:\Windows\System32\PING.EXE

对于 PowerShell,明确添加 .exe 后缀:

PS C:\>where.exe ping
C:\Windows\System32\PING.EXE

答案2

是的,Get-Command将找到所有命令,包括可执行文件:

PS\> Get-Command ipconfig

如果您想将命令限制为仅可执行文件:

PS\> Get-Command -CommandType Application

将查找路径中的所有 exe。有一个用于交互式使用的别名:

PS\> gcm net* -CommandType Application

要获取可执行文件的路径,可以使用Path返回对象的属性。例如:

PS\> (Get-Command notepad.exe).Path

欲了解更多信息,请运行man Get-Command -full

答案3

where.exe在 PowerShell 中明确地而不是where为我工作:

PS C:\Users\birdc> where ping
PS C:\Users\birdc> where.exe ping
C:\Windows\System32\PING.EXE

答案4

除了 user10404 之外,help 命令还可以用于别名,因此您可以使用相同的命令名称 (gcm) 来获取帮助和交互式使用:

help gcm -Parameter *
# or
man gcm -Par *

相关内容