Batch file 批处理文件查找Exe的路径并运行程序

Batch file 批处理文件查找Exe的路径并运行程序,batch-file,Batch File,我正在处理一个批处理文件,该文件在计算机上查找浏览器并运行url。我能够找到查找exe的代码,并且我知道当浏览器路径被硬编码时如何运行url,但我似乎无法将这两种代码放在一起 //Comment - Finds the browser Path of firefox @echo off set BrowserPath = dir /s /b firefox.exe //Comment - uses that browser path found to run url "%Browser

我正在处理一个批处理文件,该文件在计算机上查找浏览器并运行url。我能够找到查找exe的代码,并且我知道当浏览器路径被硬编码时如何运行url,但我似乎无法将这两种代码放在一起

 //Comment - Finds the browser Path of firefox
 @echo off set BrowserPath = dir /s /b firefox.exe
 //Comment - uses that browser path found to run url 
 "%BrowserPath%" "http://www.cnn.com"
还有人知道比dir/s/b firefox.exe更快的命令吗


谢谢

无需搜索exe。
start
命令将为您执行以下操作:

start http://www.cnn.com

将使用默认浏览器打开URL(注意:URL周围没有引号)

您的方式几乎是正确的-只需将
start
放在
%BrowserPath%”之前即可


我还没有找到一种更快的批量搜索文件的方法。

这是一个老问题,但没有真正的答案,似乎有人在寻找它

使用
for
执行命令并将结果存储到变量

@echo off
for /f "usebackq delims=/" %%i IN (`dir /s /b firefox.exe`) DO set BrowserPath=%%i
"%BrowserPath%" "http://www.cnn.com"

我必须运行一个特定的浏览器,当它们可能有多个浏览器时firefox@AC25:那么,如果没有安装Firefox,你会怎么做?要编写一个if语句并运行ie,@AC25:I for one如果你在我没有选择默认的浏览器中打开该URL,你会很生气。但那只是我。如果您需要始终在Firefox中打开它,而不考虑用户的首选项,那么这确实不是解决方案。@AC25:那么为什么不运行用户选择的默认浏览器呢。当一个应用程序启动时,我会非常恼火,也就是当我的首选是其他东西时。
set
不会将变量设置为浏览器的路径,而只是将变量设置为字符串`dir/s/b firefox.exe“也
start“我是一个丑陋的字符串”www.cnn.com
起作用。引号中的第一个参数只是提供了新窗口的标题(你看不到,因为浏览器窗口不接受标题)。可能
wmic product where name=“Firefox”get InstallLocation
会有帮助(我没有安装它;可能名称不同;请尝试
wmic product get name,InstallLocation |查找/I“Firefox”
来查找)。
@echo off
for /f "usebackq delims=/" %%i IN (`dir /s /b firefox.exe`) DO set BrowserPath=%%i
"%BrowserPath%" "http://www.cnn.com"