Пакетный файл открывает Браузер по умолчанию вместо 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, заголовок является необязательным, но в зависимости от других выбранных параметров могут возникнуть проблемы, если он пропущен.

Начало источника


Дальнейшее чтение


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

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