批处理脚本使用start命令打开网址提示Application not found报错
报错原因
- 核心原因是Windows系统
HTTPS协议默认应用关联损坏。使用start命令直接调用URL时,系统会读取注册表内的URL协议绑定配置,唤起对应默认程序打开链接。若存在第三方浏览器卸载残留关联信息、系统更新重置默认应用、安全软件篡改协议关联注册表项等情况,系统无法定位到绑定的可执行文件,就会抛出Application not found错误。 - 兼容问题触发:
start命令的语法规则会默认将第一个带引号的参数识别为新窗口标题,当URL含特殊字符触发参数转义时,命令会误将URL识别为标题参数,因找不到待启动的目标程序触发报错。
修复方案
- 脚本层面快速修复(无需改动系统配置,全环境兼容性最优):为
start命令传入空字符串作为固定窗口标题参数,显式调用系统资源管理器解析URL协议,修改后完整代码如下:
@echo off start "" explorer "https://www.youtube.com" exit
若系统协议关联本身正常,仅需补全标题参数即可解决参数解析问题,代码如下:
@echo off start "" "https://www.youtube.com" exit
- 系统层面根源修复:打开Windows设置-应用-默认应用,进入「按协议指定默认应用」分类,在列表中找到
HTTP、HTTPS两个协议,手动为其绑定本地已安装的常用浏览器作为默认打开程序。 - 若手动设置默认应用后仍存在报错,以管理员身份打开命令提示符,执行以下命令重置HTML/HTTPS协议关联(执行前需将命令内的浏览器路径替换为本地实际安装的浏览器可执行文件路径):
assoc .html=htmlfile ftype htmlfile="C:\Program Files\本地浏览器实际安装路径\浏览器exe文件.exe" "%1"
内容的提问来源于stack exchange,提问作者DamDarBilla786
相关产品推荐
相关产品推荐

