Windows has the program start.exe which somehow knows how to open programs by their lay-name like “firefox”
start firefox into cmd.exe opens firefox assuming its installed.
Is there a similar command to start that will return the file path rather than starting the application?
Also open to any similar but proper solution
Other answers suggest using
where command, and this works for programs like ping which are in the system directories, but does not find firefox like
Take a look at this registry key.
In it you will find something similar to this for firefox.
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"
and here is a bit that reads the value from Powershell. Same thing can be done from batch file with reg.exe.
$Firepath = get-item -path 'registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe' $Firepath.GetValue('')
Answered By – Knuckle-Dragger