在Windows命令行中有没有类似于“which”的等效命令?

32 浏览
0 Comments

在Windows命令行中有没有类似于“which”的等效命令?

由于有时我的自己的cmd脚本被其他程序(在路径中较早的位置)隐藏(被遮蔽),我希望能够在Windows命令行上仅给出程序名称就能够找到该程序的完整路径。

是否有与UNIX命令\'which\'相当的命令?

在UNIX上,which command 命令打印给定命令的完整路径,以便轻松查找和修复这些遮蔽问题。

admin 更改状态以发布 2023年5月21日
0
0 Comments

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*

0