例如我已输入
的Netsh.exe
在命令行(又名cmd.exe)
现在我想知道正在运行哪个netsh.exe,假设我的PATH上有多个netsh.exe (我知道PATH中的第一个将是运行,但我要说我有一个非常大的路径,我没有时间手动搜索它。公平地说,它并不总是你使用的机器和很多次PATH是由管理员设置,很多时候他们不是最好的。)
Windows中是否有任何方法可以从命令行中找到它?我想写一个正在使用它的 BATCH应用程序。
答案 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)
答案 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工作站上使用了一个副本,它也可以正常工作。