Пакетний файл відкриває браузер за замовчуванням замість Firefox


9

У мене є сценарій для входу, який працює для кожного користувача. Перша перевірка визначає, чи відповідає ім'я користувача нашому користувачеві, який приймає тест (іспит). Якщо так, запускає 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

Відповіді:


25

Що я роблю неправильно?

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, заголовок необов’язковий, але залежно від інших обраних варіантів у вас можуть виникнути проблеми, якщо вони опущені.

Джерело старту


Подальше читання

  • Індекс AZ командного рядка Windows CMD - відмінна довідка для всіх речей, що стосуються cmd-рядка Windows.
  • start - Запуск програми, командного чи пакетного сценарію (відкривається в новому вікні).

Отже, якщо я правильно це розумію, startінтерпретує ...firefox.exeяк заголовок та URL як те, що слід почати, і чи достатньо інтелігентно, щоб виявити URL та подати його до браузера за замовчуванням?
Болдевін

2
@Boldewyn: startдійсно знає, що робити з URL-адресами, і це відкрити їх у браузері за замовчуванням.
MSalters
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.