在Windows命令行中有没有类似于“which”的等效命令?
在Windows命令行中有没有类似于“which”的等效命令?
由于有时我的自己的cmd脚本被其他程序(在路径中较早的位置)隐藏(被遮蔽),我希望能够在Windows命令行上仅给出程序名称就能够找到该程序的完整路径。
是否有与UNIX命令\'which\'相当的命令?
在UNIX上,which command
命令打印给定命令的完整路径,以便轻松查找和修复这些遮蔽问题。
admin 更改状态以发布 2023年5月21日
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本地的,并且可以获取所有命令类型:别名,cmdlet,可执行文件和函数。例如:
gcm notepad*