批处理文件打开默认浏览器而不是 Firefox

批处理文件打开默认浏览器而不是 Firefox

我有一个为每个用户运行的登录脚本。首先检查用户名是否与我们的考试用户(考试)匹配。如果匹配,则启动 Firefox 到考试主页并停止。

这些命令单独起作用。当我调用该.bat文件时,它会启动 Internet Explorer 到该网站。我做错了什么?

@echo off

REM Exam Startup - Username is "exam", then start the Exam website, and exit the script
if %USERNAME% EQU exam (
    if exist "%PROGRAMFILES%\Mozilla Firefox\firefox.exe"       start "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" "https://www.example.com/"
    if exist "%PROGRAMFILES(x86)%\Mozilla Firefox\firefox.exe"  start "%PROGRAMFILES(x86)%\Mozilla Firefox\firefox.exe" "https://www.example.com/"
    exit
)
...
REM rest of script

答案1

我究竟做错了什么?

if exist "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" start "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" "https://www.example.com/"

你无权"title"指挥start

  • 如果没有,"title"start解析"%PROGRAMFILES%\Mozilla Firefox\firefox.exe"为标题(因为它以 开头")并"https://www.example.com/"解析为要执行的命令。

  • 执行该命令"https://www.example.com/"会导致默认浏览器打开该 URL。

尝试""添加start

if exist "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" start "" "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" "https://www.example.com/"

句法

START "title" [/D path] [options] "command" [parameters] Key:
  • title CMD 窗口标题栏的文本(必需)。
  • path 起始目录。
  • command 要运行的命令、批处理文件或可执行程序。
  • parameters 传递给命令的参数。

...

始终包含一个title,可以是一个简单的字符串,"My Script"或者只是一对空引号""

根据 Microsoft 文档,标题是可选的,但根据所选的其他选项,如果省略标题,则可能会遇到问题。

来源开始


进一步阅读

相关内容