内容来自 DOC https://q.houxu6.top/?s=在Windows命令行中是否有等同于’which’的命令?
由于我有时会遇到路径问题,即我的一个cmd脚本被另一个程序(在路径中更早出现)隐藏(遮蔽),因此我希望能够在Windows命令行中仅凭程序名称找到程序的完整路径。
在Windows上是否有类似于UNIX命令’which’的工具?
在UNIX上,which command
会打印给定命令的完整路径,以便轻松地发现和修复这些遮蔽问题。
Windows Server 2003及更高版本(即Windows XP 32位之后的版本)提供了where.exe
程序,它执行类似于which
命令的一些操作,但它匹配所有类型的文件,而不仅仅是可执行命令。(它不匹配内置的shell命令,如cd
。) 它甚至可以接受通配符,因此where nt*
可以找到您的%PATH%
和当前目录中名称以nt
开头的所有文件。
尝试使用 where /?
获取帮助。
请注意,Windows PowerShell将where
定义为[Where-Object
cmdlet]的别名,因此如果您想要where.exe
,则必须键入完整名称而不是省略.exe
扩展名。或者,您可以为此设置一个别名:
Set-Alias which where.exe
更新: 建议使用 Get-Command
(别名:gcm
),因为它是PS的原生命令,可以获取所有命令类型:别名、cmdlets、可执行文件和函数。示例:
gcm notepad*