Использование 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 :
- Первый аргумент - это то, с чего вы начинаете.
- Второй аргумент - насколько велик шаг. (Это не относится к вашему конкретному примеру, поскольку вы вообще не используете это значение.)
- Третий аргумент - когда остановиться.