Uhzeit in batch auswerten

CED999

Lieutenant
Registriert
Juni 2011
Beiträge
969
Hallo allerseits,

zusätzlich zu dem Datum würde mich jetzt interessieren, wie ich in einer Batch die aktuelle Systemzeit auslesen und für eine If-Verzweigung nutzbar machen kann.

Ich habe mal testweise folgendes ausprobiert:

Code:
setlocal
set zeit=time /t
echo %zeit%
pause

Das hat aber nicht funktioniert.

Am Ende möchte ich auf die momentane Uhrzeit in einer Form zugreifen, dass ich damit einen Vergleich machen kann a la: führe das script nur aus, wenn es nach 13:00 und vor 23:59h ist.

Da ich ziemlicher Neuling bin wäre besonders gut wenn das ein bisschen kommentiert wäre, aber natürlich ist alles interessant...

Grüße!
 
Das wird mit Batchverarbeitung nicht gehen. Warum muss es unbedingt eine Batchdatei sein? Kannst du vielleicht auch WSH oder Powershell oder eine Skriptsprache nehmen?
 
Natürlich geht das mit Batch. Ist aber nicht so einfach, gibt aber per google genug Beispiele.

Die Zeit steht übrigens in der Variable %time%, zum ausgeben kannst du also direkt

echo %time%

benutzen.
 
FOR /F "tokens=1,2 delims=:" %i in ('echo %time%') do @set Stunde=%i & @set Minute=%j

Damit kannst du dann weiterarbeiten und vergleiche anstellen.



Die Vergleichsoperatoren findest du in der Hilfe zu if /?

Mögliche Vergleichsoperatoren:

EQU - gleich
NEQ - nicht gleich
LSS - kleiner als
LEQ - kleiner als oder gleich
GTR - größer als
GEQ - größer als oder gleich
 
Zuletzt bearbeitet:
Stimmt, die aktuelle Stunde via %time:~-11,2% zu holen wäre auch zu umständlich...


Code:
@echo off
if %time:~-11,2% lss 14 goto tooearly
echo 14 or later
goto :eof

:tooearly
echo too early
 
Zuletzt bearbeitet:
Ergebnis ist das gleiche. Zudem schadet es nicht sich mit der For Schleife zu beschäftigen, die man für viel nützliches auch woanders brauchen kann.

Umwege erweitern die Ortskenntnis.
 
Zurück
Oben