Пауза в bat фале

 

Возникла необходимость организовать паузу в bat файле в MS-DOS. 

Получилось примерно следующее:

 

 

 

echo текущее время %time:~0,-3%

:: пауза на кол-во секунд указанные параметром к bat файлу

call :sleep %1

:: вывод времени по окончанию работы процедуры sleep

echo текущее время %time:~0,-3%

pause

goto :EOF

 

:sleep

    echo пауза на %1 секунд...

    set /a ftime=100%time:~6,-3%%%100+%1

    if %ftime% GEQ 60 set /a ftime-=60

    :loop

    set ctime=%time:~6,-3%

    if /i %ftime% NEQ %ctime% goto :loop

exit /b 0

 

Начиная с Windows Vista была введена стандартная команда timeout

Например для 10 секундной паузы в bat или cmd файле можно использовать следующую команду:

timeout /t 10 /nobreak

Смотрите далее по теме "cmd bat + windows решения"

Как можно работать с переменными среды %date% и %time% в коммандных файлах Windows .cmd / .bat | автор: Mascher

Иногда требуется сформировать переменную даты и времени в cmd / bat скриптах windows так, как нужно нам, а не так, как нам отдаёт операционная система. Например чтоб добавить эти данные в log...