O arquivo em lote abre o Navegador padrão em vez do Firefox

9

Eu tenho um script de logon que é executado para todos os usuários. A primeira verificação verifica se o nome de usuário corresponde ao nosso Usuário que faz o teste (exame). Nesse caso, inicia o Firefox na página inicial do exame e para.

Os comandos funcionam individualmente. Quando ligo para o .batarquivo, ele lança o Internet Explorer no site. O que estou fazendo errado?

@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
Canadian Luke
fonte

Respostas:

25

O que estou fazendo errado?

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

Você não tem "title"em seu startcomando.

  • Se não houver, "title"ele será startanalisado "%PROGRAMFILES%\Mozilla Firefox\firefox.exe"como um título (porque começa com a ") e "https://www.example.com/"como o comando a ser executado.

  • A execução do comando "https://www.example.com/"faz com que o navegador padrão abra esse URL.

Tente adicionar ""depois start:

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

Sintaxe

START "title" [/D path] [options] "command" [parameters] Key:
  • title Texto para a barra de título da janela CMD (obrigatório.)
  • path Diretório inicial.
  • command O comando, arquivo em lote ou programa executável a ser executado.
  • parameters Os parâmetros passados ​​para o comando

...

Sempre inclua um titlepode ser uma sequência simples "My Script"ou apenas um par de aspas vazias""

De acordo com a documentação da Microsoft, o título é opcional, mas dependendo das outras opções escolhidas, você poderá ter problemas se for omitido.

Início da fonte


Leitura adicional

DavidPostill
fonte
Então, se eu entendi isso corretamente, startinterpreta ...firefox.execomo o título e a URL como o que deve ser iniciado e é inteligente o suficiente para detectar uma URL e alimentá-la no navegador padrão?
precisa saber é o seguinte
2
@ Boldewyn: startrealmente sabe o que fazer com os URLs, e é para abri-los no navegador padrão.
MSalters