Циклы в бат-файле

 Здесь приведены примеры организации цикла в батнике.
________________
@echo off
rem Включение расширенной обработки команд
setlocal enabledelayedexpansion
rem Инициализация переменной i (счетчик)
set /a i=0
rem Метка условия выполнения цикла
:if
if %i% LSS 10 (
    goto count
) else (
    goto end
)
rem Функциональная метка, содержащая выполнимые команды с последующим заполнением счетчика i
:count
echo Hello world!
set /a i=i+1
goto if
rem Финишная метка
:end
echo Loop finished...
pause
exit
________________
Можно внести небольшую интерактивность, например предоставив возможность выбора условий окончания цикла
________________
@echo off
rem Включение расширенной обработки команд
setlocal enabledelayedexpansion
rem Инициализация переменной i (счетчик)
set /a i=0
set /p n=Enter border
rem Метка условия выполнения цикла
:if
if %i% LSS %n% (
    goto count
) else (
    goto end
)
rem Функциональная метка, содержащая выполнимые команды с последующим заполнением счетчика i
:count
echo Hello world!
set /a i=i+1
goto if
rem Финишная метка
:end
echo Loop finished...
pause
exit /b
________________
Циклы удобны в практических целях, например:
________________
@echo off
rem Включение расширенной обработки команд
setlocal enabledelayedexpansion
rem Инициализация переменной i (счетчик)
set /a i=0
set /p n=Enter border
rem Метка условия выполнения цикла
:if
if %i% LSS %n% (
    goto count
) else (
    goto end
)
rem Функциональная метка, содержащая выполнимые команды с последующим заполнением счетчика i
:count
set /a i=i+1
ping 191.168.0.%i% -n 1
goto if
rem Финишная метка
:end
echo Loop finished...
pause
exit /b