Alle 30 Minuten wird dieselbe Batchdatei erneut ausgeführt

932
Ashvin

Ich habe eine Batchdatei, die nur eine einfache Batchdatei ist. Sie können jedes Beispiel nehmen. Wie kann ich die Batchdatei immer wieder von Anfang bis Ende laufen lassen, bis die angegebene Zeit oder der Zähler erreicht wird?

1
Dies könnte eine mögliche Lösung sein [http://stackoverflow.com/questions/3958896/how-to-run-a-batch-file-over-a-period-of-time-repetierly-scheduling-a-task] [ 1] [1]: http://stackoverflow.com/questions/3958896/how-to-run-a-batch-file-over-a-period-of-time-repeatly-scheduling-a-task Dhiwakar Ravikumar vor 10 Jahren 0

1 Antwort auf die Frage

0
James

Wenn Sie Windows Vista oder höher verwenden, können Sie tun, was Sie möchten. Beispielsweise führt diese Batch-Datei einen Prozess mit bis zu 11 Ausführungen oder bis 04:17 Uhr (je nachdem, was zuerst eintritt) und wartet eine Sekunde zwischen den einzelnen Prozessen (um die CPU nicht zu fixieren. Wenn Sie eine Dateiverarbeitung haben, benötigen Sie dies möglicherweise nicht oder) Möglicherweise möchten Sie die CPU tatsächlich fixieren):

@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