演示

演示

我记得我使用了一个名为 as 的工具where在控制台中查找任何可执行程序的位置,例如:

 C:\Tmp\Where myTool.exe
 C:\Program Files\MyApp\myTools.exe
 ....

现在我找不到这个工具。不确定 Windows 是否有内置工具可以进行该搜索?

答案1

根据 Stack Overflow 上的回答Windows 上是否有与‘which’等效的词?where.exe在 Windows 7 和 Windows Server 2003 及更高版本上执行此操作:

例子

C:\> where ping

输出:

C:\Windows\System32\PING.EXE

在 PowerShell 中使用where.exeGet-Command(或其缩写gcm),作为where的默认别名Where-Object

答案2

对我来说,有效的方法是

Get-Command chromedriver

返回类似

CommandType     Name                       Version    Source
-----------     ----                       -------    ------
Application     chromedriver.exe           0.0.0.0    C:\WINDOWS\chromedriver.exe

只需替换chromedriver您要查找的程序

答案3

编辑: 我应该补充一点,如果您无法从命令提示符中使用 WHERE 命令,请检查您的 PATH 变量。(只需使用“path”命令即可。)确保 C:\Windows\System32 在您的路径中。这就是“where.exe”所在的位置。

WHERE 就是您要查找的命令!WHERE 就像是 UNIX shell 内置“which”和“locate”命令的结合体,它既适用于命令可执行文件,也适用于常规文件。

它也比上述两个都复杂一些,尽管一般来说,一个简单的

WHERE <file>

将工作。

它与“locate”命令不同,因为它不会查看整个文件系统。相反,默认行为是在两个位置查找文件:

  • 当前目录。
  • PATH 变量中的所有目录。

因此,任何可以直接从命令提示符运行而无需指定目录的命令都将由 WHERE 命令找到。(因为任何类似的命令都已在 PATH 变量列表中。)

如果你想搜索仅有的在命令路径变量中,您可以使用:

WHERE "$path:<search text>"

另一方面,如果您想在目录树中查找文件的所有副本,则可以使用:

WHERE /R <Top Level Directory> <search text>

最后,WHERE 将查找命令和任何带有来自 PATHEXT 变量的扩展名的文件(不包括扩展名)。所有其他文件必须准确指定或使用通配符指定。

以文件“dxdiag.exe”和“dxdiagn.dll”为例。请注意以下命令及其输出:

WHERE /R C:\Windows dxdiag

C:\Windows\System32\dxdiag.exe
C:\Windows\SysWOW64\dxdiag.exe
C:\Windows\WinSxS\amd64_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_7c8d3f96e7882ec7\dxdiag.exe
C:\Windows\WinSxS\x86_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_206ea4132f2abd91\dxdiag.exe

它成功返回了“dxdiag.exe”的所有版本,因为“.exe”是 PATHEXT 变量中的扩展名之一。(注意:“WHERE dxdiag”也可以正常工作,因为 C:\Windows\System32 位于 PATH 变量中。)

WHERE /R C:\Windows dxdiagn

另一方面,无法返回任何结果,因为“.dll”是不是在 PATHEXT 中。

在这种情况下,看看添加通配符给我们的结果:

WHERE /R C:\Windows dxdiagn*

C:\Windows\System32\dxdiagn.dll
C:\Windows\System32\en-US\dxdiagn.dll.mui
C:\Windows\SysWOW64\dxdiagn.dll
C:\Windows\SysWOW64\en-US\dxdiagn.dll.mui
C:\Windows\WinSxS\amd64_microsoft-windows-d..iagnostic.resources_31bf3856ad364e35_6.2.9200.16384_en-us_daccd04369b09c70\dxdiagn.dll.mui
C:\Windows\WinSxS\amd64_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_7c8d3f96e7882ec7\dxdiagn.dll
C:\Windows\WinSxS\x86_microsoft-windows-d..iagnostic.resources_31bf3856ad364e35_6.2.9200.16384_en-us_7eae34bfb1532b3a\dxdiagn.dll.mui
C:\Windows\WinSxS\x86_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_206ea4132f2abd91\dxdiagn.dll

成功返回全部dxdiagn.dll 的版本。

如需更多信息,请使用“WHERE /?”。希望这对您有所帮助!

答案4

打开Powershell并使用gcm命令

gcm [your_exe]

演示

在此处输入图片描述

来源:获取命令

补充

您还可以使用选择对象 别名:select过滤您感兴趣的字段。

例如:

gcm git.exe | 选择来源

在此处输入图片描述

相关内容