El archivo por lotes abre el navegador predeterminado en lugar de Firefox

9

Tengo un script de inicio de sesión que se ejecuta para cada usuario. La primera verificación ve si el nombre de usuario coincide con nuestro usuario de examen (examen). Si es así, inicia Firefox en la página de inicio del examen y se detiene.

Los comandos funcionan individualmente. Cuando llamo al .batarchivo, inicia Internet Explorer en el sitio web. ¿Qué estoy haciendo mal?

@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
Luke canadiense
fuente

Respuestas:

25

¿Qué estoy haciendo mal?

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

No tienes "title"a tus startórdenes.

  • Si no hay, "title"entonces se startanaliza "%PROGRAMFILES%\Mozilla Firefox\firefox.exe"como un título (porque comienza con a ") y "https://www.example.com/"como el comando para ejecutar.

  • La ejecución del comando "https://www.example.com/"hace que el navegador predeterminado abra esa URL.

Intenta agregar ""después de start:

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

Sintaxis

START "title" [/D path] [options] "command" [parameters] Key:
  • title Texto para la barra de título de la ventana CMD (obligatorio).
  • path Directorio de inicio.
  • command El comando, archivo por lotes o programa ejecutable para ejecutar.
  • parameters Los parámetros pasados ​​al comando.

...

Incluya siempre un titleesto puede ser una cadena simple como "My Script"o solo un par de comillas vacías""

Según la documentación de Microsoft, el título es opcional, pero dependiendo de las otras opciones elegidas, puede tener problemas si se omite.

Inicio de origen


Otras lecturas

DavidPostill
fuente
Entonces, si entiendo esto correctamente, ¿se startinterpreta ...firefox.execomo el título y la URL como lo que debe iniciarse y es lo suficientemente inteligente como para detectar una URL y alimentarla al navegador predeterminado?
Boldewyn
2
@Boldewyn: de starthecho sabe qué hacer con las URL, y eso es abrirlas en el navegador predeterminado.
MSalters