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

Windows 如何检查应用程序运行的路径?,windows,networking,batch-file,dos,Windows,Networking,Batch File,Dos,例如,我已经进入 netsh.exe 在命令行中(又名cmd.exe) 现在我想知道正在运行哪个netsh.exe,假设我的路径上有多个netsh.exe(我确实知道路径中的第一个路径将运行,但假设我有一个非常大的路径,我没有时间手动搜索它。公平地说,您使用的机器并不总是您的,很多时候路径是由管理员设置的,很多时候他们不是最好的) 在windows中有什么方法可以从命令行中找到它吗?我想编写一个使用它的批处理应用程序。我想下面的博文正是您想要的:我会使用windows Management In

例如,我已经进入

netsh.exe

在命令行中(又名cmd.exe)

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


在windows中有什么方法可以从命令行中找到它吗?我想编写一个使用它的批处理应用程序。

我想下面的博文正是您想要的:

我会使用windows Management Instrument(WMI)进行查询:

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

您需要在Windows Server(至少2003年和2008年,不知道2000年)上找到适合您的脚本编写的东西,您可以使用where.exe

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

列出的第一个文件也是windows将使用的第一个文件。

我在XP工作站上使用了一个副本,它也可以正常工作。

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

@for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i
将其另存为whereis.cmd,然后键入

whereis netsh

这是windows中内置的吗?XP也是吗?这是肯定的。即使win2k也有。要测试它,请启动->运行“wbemtest.exe”connect->“root\cimv2”->connect->query->(查询语言类似于sql)->应用