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

Can*_*uke 10 windows-7 batch-file cmd.exe

我有一个为每个用户运行的登录脚本。第一次检查查看用户名是否与我们的应试用户(考试)匹配。如果是这样,启动 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
Run Code Online (Sandbox Code Playgroud)

Dav*_*ill 26

我究竟做错了什么?

if exist "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" start "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" "https://www.example.com/"
Run Code Online (Sandbox Code Playgroud)

你没有"title"你的start命令。

  • 如果没有,"title"start解析"%PROGRAMFILES%\Mozilla Firefox\firefox.exe"为标题(因为它以 a 开头")和"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/"
Run Code Online (Sandbox Code Playgroud)

句法

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

...

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

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

源头开始


进一步阅读

  • @Boldewyn:`start` 确实知道如何处理 URL,那就是在默认浏览器中打开它们。 (2认同)