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

1 ответ1

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

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


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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .