Использование GOTO
Попробуйте следующую партию:
@echo off
set loopCount=50
:loop
start "C:\Program Files\Mozilla Firefox\firefox.exe" "http://testmywebsiteloadspeed.com"
set /a loopCount=%loopCount%-1
if %loopCount%==0 GOTO:EOF
timeout /t 60
taskkill /im firefox.exe
timeout /t 5
GOTO :loop
:loop
определяет точку GOTO
.
timeout /t 60
ждет 60 секунд
taskkill /im firefox.exe
убьет процесс Firefox
GOTO :loop
будет перенаправлен обратно в начало скрипта.
Примечание. Это уничтожит все запущенные процессы Firefox. Я думаю, что Firefox, как правило, разрешает только по одному за раз.
Конечный цикл с использованием GOTO
Чтобы сделать это для определенного числа итераций, вы можете использовать set /a
чтобы выполнить некоторые математические операции с переменной loopCount.
@echo off
set loopCount=50
:loop
start "C:\Program Files\Mozilla Firefox\firefox.exe" "http://testmywebsiteloadspeed.com"
set /a loopCount=%loopCount%-1
if %loopCount%==0 GOTO:EOF
timeout /t 60
taskkill /im firefox.exe
timeout /t 5
GOTO :loop
set /a loopCount=%loopCount%-1
будет уменьшать значение loopCount на единицу при каждом запуске цикла. if %loopCount%==0 GOTO:EOF
выйдет из сценария, когда достигнет 0.
GOTO:EOF
означает "перейти в конец файла", что будет обходить любой другой код в файле.
Использование FOR /l
Альтернативным решением было бы использование цикла FOR
с параметром /l
, но у меня были проблемы с этим при использовании вложенных циклов, поэтому я обычно придерживаюсь опции GOTO
простых пакетных файлов, подобных этой. Тем не менее, я надеюсь, что это поможет кому-то в будущем.
@echo off
for /l %%x in (1, 1, 50) do (
start "C:\Program Files\Mozilla Firefox\firefox.exe" "http://testmywebsiteloadspeed.com"
set /a loopCount=%loopCount%-1
if %loopCount%==0 GOTO:EOF
timeout /t 60
taskkill /im firefox.exe
timeout /t 5
)
Чтобы сломать команду FOR /l
:
- Первый аргумент - это то, с чего вы начинаете.
- Второй аргумент - насколько велик шаг. (Это не относится к вашему конкретному примеру, поскольку вы вообще не используете это значение.)
- Третий аргумент - когда остановиться.