由于我有时会遇到路径问题,我自己的一个cmd脚本被另一个程序隐藏(隐藏)(路径前面),所以我希望能够在Windows命令行上找到程序的完整路径,只要给出它的名称。

是否有与UNIX命令“which”等效的命令?

在UNIX上,哪个命令打印给定命令的完整路径,以便轻松查找和修复这些阴影问题。


当前回答

在调用以下内容的Windows CMD中:

$ where php
C:\Program Files\PHP\php.exe

其他回答

在PowerShell中,它是gcm,它提供有关其他命令的格式化信息。如果只想检索可执行文件的路径,请使用.Source。

例如:gcm-git或(gcm-git).Source

提示:

适用于Windows XP。自PowerShell 1.0之后可用。gcm是Get-Command cmdlet的别名。在没有任何参数的情况下,它列出了主机shell提供的所有可用命令。您可以使用Set alias which gcm创建自定义别名,并使用它,例如:(which git).Source。官方文件:https://technet.microsoft.com/en-us/library/ee176842.aspx

JPSoft的TCC和TCC/LE是CMD.EXE的替代品,增加了重要的功能。与OP的问题相关,这是TCC系列命令处理器的内置命令。

Cygwin是一个解决方案。如果您不介意使用第三方解决方案,那么Cygwin就是您的选择。

Cygwin在Windows环境中为您提供了*nix的舒适性(您可以在Windows命令shell中使用它,也可以选择使用*nix shell)。它为您提供了一整套适用于Windows的*nix命令(如),您可以将该目录包含在PATH中。

您可以先从Downloading Git安装Git,然后打开Git Bash并键入:

which app-name

我在Windows上找到的最好的版本是Joseph Newcomer的“whereis”实用程序,该实用程序可以从他的网站上获得(带有源代码)。

关于“Where is”发展的文章值得一读。