如何检查应用程序的运行路径?

时间:2011-03-03 08:29:39

标签: windows networking batch-file dos

例如我已输入

  

的Netsh.exe

在命令行(又名cmd.exe)

现在我想知道正在运行哪个netsh.exe,假设我的PATH上有多个netsh.exe (我知道PATH中的第一个将是运行,但我要说我有一个非常大的路径,我没有时间手动搜索它。公平地说,它并不总是你使用的机器和很多次PATH是由管理员设置,很多时候他们不是最好的。)

Windows中是否有任何方法可以从命令行中找到它?我想写一个正在使用它的 BATCH应用程序

4 个答案:

答案 0 :(得分:5)

这是一个单行批处理文件:

@for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i

将其另存为whereis.cmd,然后键入

whereis netsh

答案 1 :(得分:2)

我认为以下博文完全符合您的要求:http://pankaj-k.net/weblog/2004/11/equivalent_of_which_in_windows.html

答案 2 :(得分:1)

我会使用Windows管理工具(WMI)来查询:

"SELECT ExecutablePath FROM Win32_Process WHERE Name = 'netsh.exe'"

http://www.activexperts.com/activmonitor/windowsmanagement/wmi/samples/ WMI示例

您需要找到适合您脚本的内容

答案 3 :(得分:1)

在Windows Server上(至少2003年和2008年,不知道2000)你可以使用 where.exe

  

Where.exe /?
  说明:
      显示与搜索模式匹配的文件的位置       默认情况下,搜索是沿当前目录进行的       在PATH环境变量指定的路径中   ...

列出的第一个文件也是Windows将使用的第一个文件 我在我的XP工作站上使用了一个副本,它也可以正常工作。