Запуск одного і того ж пакетного файлу знову кожні 30 хвилин


1

У мене є пакетний файл, який є просто простим пакетним файлом. Ви можете взяти будь-який приклад. Як я можу тримати пакетний файл, що працює в циклі, від початку до кінця знову і знову, доки не буде виконано вказаний час або зустрінеться лічильник?


Відповіді:


0

Якщо ви на Windows Vista або вище, тут є те, що може робити те, що ви хочете. Наприклад, цей пакетний файл виконує процес до 11 виконань, або до 04:17, залежно від того, що відбудеться раніше, очікуючи одну секунду між кожним процесом (щоб не прив'язувати процесор - якщо у вас є обробка файлів, вам це може не знадобитися, або Ви дійсно можете прив'язати CPU):

@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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.