18 Stimmen

Wie erstelle ich einen Batch-Datei-Timer, der im Laufe des Tages einen anderen Batch ausführt/aufruft?

Wie erstelle ich einen Batch-Datei-Timer, um eine andere Batch-Datei über den Tag hinweg auszuführen/aufzurufen. Vielleicht zu bestimmten Zeiten, aber nicht an Wochenenden? Muss auf Systemzeiten laufen kann auch .cmd auf xp Server 2003 ausgeführt werden

1voto

adwait Punkte 11
@echo off
:Start
title timer
color EC
echo Type in an amount of time (Seconds)
set /p time=

color CE

:loop
cls
ping localhost -n 2 >nul
set /a time=%time%-1
echo %time%
if %time% EQU 0 goto Timesup
goto loop

:Timesup
title Time Is Up!
ping localhost -n 2 >nul
ping localhost -n 2 >nul
cls
echo The Time is up!
pause
cls
echo Thank you for using this software.
pause
goto Web
goto Exit

:Web
rem type ur command here

:Exit
Exit
goto Exit

1voto

nocktok toker Punkte 11
@echo off
:Start # seting a ponter
title timer  #name the cmd window to "Timer"
echo Type in an amount of time (Seconds)  
set /p A=  #wating for input from user
set B=1  

cls  
:loop  
ping localhost -n 2 >nul  #pinging your self for 1 second
set /A A=A-B  #sets the value A - 1
echo %A%  # printing A
if %A% EQU 0 goto Timesup  #if A = 0 go to ponter Timesup eles loop it
goto loop

:Timesup  #ponter Timesup
cls  #clear the screen
MSG * /v "time Is Up!"  #makes a pop up saying "time Is Up!"
goto Exit  #go to exit

:Exit

0 Stimmen

Wenn Sie "ping localhost -n 2 >nul" verwenden, "schläft" das Programm 1 Sekunde lang, was wir nutzen können, um den Wert A zu dekrementieren

1voto

Patrick Warren Punkte 11

Besserer Code, der nicht mit Ping arbeitet:

SET COUNTER=0
:loop
SET /a COUNTER=%COUNTER%+1
XCOPY "Server\*" "c:\minecraft\backups\server_backup_%COUNTER%" /i /s
timeout /t 600 /nobreak >nul
goto loop

600 Sekunden sind 10 Minuten, Sie können jedoch jede beliebige Zeit einstellen.

0voto

imthegman55 Punkte 80

Sie könnten auch so vorgehen>

@echo off
:loop
set a=60
set /a a-1
if a GTR 1 (
echo %a% minutes remaining...
timeout /t 60 /nobreak >nul
goto a
) else if a LSS 1 goto finished
:finished
::code
::code
::code
pause>nul

Oder so ähnlich.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X