1

У меня есть командный файл, который является простым командным файлом. Вы можете взять любой пример. Как сохранить пакетный файл в цикле от начала до конца снова и снова, пока не будет достигнуто указанное время или не будет достигнут счетчик?

1 ответ1

0

Если вы работаете в Windows Vista или выше, вот что может сделать то, что вы хотите. Например, этот пакетный файл запускает процесс до 11 выполнений или до 04:17, в зависимости от того, что наступит раньше, ожидая одну секунду между каждым процессом (чтобы не привязать ЦП - если у вас есть обработка файлов, вам это может не понадобиться, или Вы действительно можете привязать процессор):

@echo off
echo Starting Batch...
REM Use 'setlocal' so that we can use an environment variable without it leaking out to the caller.
setlocal

REM Initialize the counter to zero
set counter=0
:AGAIN

REM Increment the counter
set /A counter+=1
echo Processing loop %counter%...

REM Wait for one second so as not to peg the CPU
timeout /T 1 /NOBREAK>nul

REM Check the counter to see if we've done enough iterations--bail out if we have
if '%counter%'=='11' goto END

REM Check the time to see if the target time has been reached--if not go back and process again
FOR /F "TOKENS=1 eol=/ DELIMS=/ " %%A IN ('time /T') DO IF NOT '%%A'=='04:17' goto AGAIN

:END

REM End the local processing and go back to the main environment
endlocal

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .