Estoy usando Windows 10 Professional. Quiero crear un archivo por lotes:
- que abre el navegador Firefox,
- navega a una página
- cierra el navegador después de un minuto.
- Repita los pasos del 1 al 3.
Descubrí el siguiente código hasta ahora para escribir en mi archivo por lotes:
@echo off
start "C:\Program Files\Mozilla Firefox\firefox.exe" "http://testmywebsiteloadspeed.com"
ping -n 1 -w 60
Pero esto no está haciendo nada. ¿También cómo logro 3 y 4?
windows
windows-10
batch-file
CuriousDev
fuente
fuente
start "" "..."
tercera usotaskkill /?
cuarta inserción de una:label
y unagoto :label
al final.Respuestas:
Utilizando
GOTO
Pruebe el siguiente lote:
:loop
define unGOTO
puntotimeout /t 60
espera 60 segundostaskkill /im firefox.exe
matará el proceso de FirefoxGOTO :loop
volverá a enrutar al comienzo del guión.Nota: Esto eliminará todos los procesos en ejecución de Firefox. Creo que Firefox generalmente solo permite uno a la vez de todos modos.
Bucle finito utilizando
GOTO
Para hacer esto para un número específico de iteraciones, puede usar
set /a
algunas matemáticas en una variable loopCount.La
set /a loopCount=%loopCount%-1
línea reducirá el valor de loopCount en uno cada vez que se ejecute el bucle. Laif %loopCount%==0 GOTO:EOF
línea saldrá del script cuando llegue a 0.GOTO:EOF
significa "ir al final del archivo", que omitirá cualquier otro código en el archivo.Utilizando
FOR /l
Una solución alternativa sería usar un
FOR
bucle con el/l
interruptor, pero he tenido problemas con esto cuando uso bucles anidados, por lo que generalmente me limito a laGOTO
opción de archivos Batch simples como este. Aún así, espero que esto ayude a alguien en el futuro.Para desglosar el
FOR /l
comando:fuente
/f
interruptor de taskkill y agregar un segundo tiempo de espera. Esto podría permitir que Firefox se cierre más naturalmente. Hay más información aquí . He actualizado la respuesta en consecuencia.tasklist | findStr /i firefox.exe
y luegoif %errorlevel% neq 0 (taskkill /im firefox.exe)
o algo de esa naturaleza si ve surgir problemas en el futuro. Probablemente debería ir a otra etiqueta y seguir comprobando que firefox.exe se elimina de la memoria; de lo contrario, continúe eliminándolo antes de comenzar otra instancia.