Windows有一个名为start.exe的程序,它以某种方式知道如何通过它们的名称打开程序,比如“firefox”。
在cmd.exe中键入start firefox
会打开firefox(假设已安装)。
是否有类似的命令可以启动并返回文件路径而非启动应用程序?
也可以接受任何类似但是正式的解决方案。
更新:
其他答案建议使用where
命令,对于像ping这样在系统目录中的程序有效,但不像start
那样找到firefox。
Windows有一个名为start.exe的程序,它以某种方式知道如何通过它们的名称打开程序,比如“firefox”。
在cmd.exe中键入start firefox
会打开firefox(假设已安装)。
是否有类似的命令可以启动并返回文件路径而非启动应用程序?
也可以接受任何类似但是正式的解决方案。
更新:
其他答案建议使用where
命令,对于像ping这样在系统目录中的程序有效,但不像start
那样找到firefox。
看一下这个注册表键。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe]
@="C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"
"Path"="C:\\Program Files (x86)\\Mozilla Firefox"
这里是从PowerShell读取值的代码段。使用reg.exe也可以在批处理文件中完成同样的操作。
$Firepath = get-item -path 'registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe'
$Firepath.GetValue('')
获取应用程序名称、版本号的命令为:wmic product get name,version /format:csv > C:\testappu\Computername%.csv
reg.exe query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe" /v Path
,需要进行额外的输出解析。 - Burkart