Im Grunde, was ich versuche, ein Skript zu erstellen, die nur ausgeführt werden, wenn die Zeit ist LEQ 19:00 Uhr (19.00 Uhr), was ich tat, so weit ist:Zeitvergleich in Batch-Datei arbeitet
set myTime=%time%
set myFlag=false
if %myTime% LEQ 19:00 set myFlag=true
if myFlag=true (
*my script*
)
Es gibt diese Fehlermeldung zurück: "86 wurde in diesem Moment nicht erwartet" (86 ist die letzte Zahl der Variablen 'MyTime' [14: 36: 11,86]. Es wird einfach nicht funktionieren.
ich habe auch versucht:
set myTime=%time%
set myFlag=false
if %myTime% LEQ 19:00:00,00 set myFlag=true
if myFlag=true (
*my script*
)
Beide Wege bekomme ich die sa mir Fehlermeldung zweistellige Nummer nicht erwartet. Irgendwelche Gedanken darüber, wie man das löst? Es ist sogar möglich, einen Zeitvergleich in einer Windows Batch-Datei durchzuführen.
Es gibt keine (native) Art und Weise in Batch-Programmierung in Echtzeitstempel Vergleiche zu tun . Sie können nur Strings und Zahlen vergleichen; etwas wie "19: 00" oder "19: 00: 00,00" wird als String behandelt. Wenn Ihr Zeitformat jedoch zu Werten mit fester Länge führt, können Sie diese wie Zeichenfolgen vergleichen, um das erwartete Ergebnis zu erzielen. Um Probleme mit dem Zeichen ',' zu vermeiden, schließen Sie die Vergleichsausdrücke in Anführungszeichen ein, wie zum Beispiel: 'if"% myTime% "LEQ" 19: 00: 00,00 "' – aschipfl