von DOSferatu » Sa 6. Feb 2010, 17:09
Gast hat geschrieben:Guten Tag,
ich komme bei meinem Problem nicht weiter und hoffe, dass mir in diesem Forum jemand weiterhelfen kann.
Ich möchte auf die aktuelle Uhrzeit in einer DOS-Batch 2 Minuten hinzu addieren und mit führenden Nullen ausgeben.
Beispiel: Uhrzeit 09:59:00 soll zu 10:01:00 (und genau in diesem Format) werden.
Ich bekomme zwar mit
set /a minute=%time:~3,2%+2
die 2 Minuten addiert, jedoch ist dann die führende Null weg und der Stundenwechsel fehlt.
Kann mir jemand vielleicht einen Tip geben?
Schönen Gruß
Christoph
Daß so etwas in DOS-Batches geht, ist mir eigentlich total unbekannt. (Ich meine dieses :~3,2 Format und so.) Mit einer kleinen EXE könnte man so etwas wohl machen. Das Problem wäre, daß man, um es sauber in eine Umgebungsvariable zu bekommen, zwei ineinander verschachtelte BAT Dateien benutzen müßte, wobei die zweite von der EXE erstellt werden würde.
Beispiel, sowas wie:
--------------
ADD2.EXE >DOSET.BAT
DOSET.BAT
--------------
und die Exe selber würde nur den Zeitstring erzeugen und einfach "ausgeben".
Also die EXE würde ausgeben: SET MINUTE=xx:yy:zz
(wobei xx:yy:zz dann die Zeit im richtigen Format wäre)
Man könnte es auch so machen, daß die EXE es NICHT ausgibt, sondern selbst diese DOSET.BAT generiert.
Aber ersteres würde halt bewirken, daß, wenn man die EXE ohne die Ausgabe-Umleitung (also dieses > ) startet, den Kram auf dem Bildschirm (statt in ein File) ausgeben würde.
Soll ich so eine ADD2.EXE mal fix schreiben oder kriegst Du die selbst hin? (Kostet mich 5 Minuten.)
[quote="Gast"]Guten Tag,
ich komme bei meinem Problem nicht weiter und hoffe, dass mir in diesem Forum jemand weiterhelfen kann.
Ich möchte auf die aktuelle Uhrzeit in einer DOS-Batch 2 Minuten hinzu addieren und mit führenden Nullen ausgeben.
Beispiel: Uhrzeit 09:59:00 soll zu 10:01:00 (und genau in diesem Format) werden.
Ich bekomme zwar mit
set /a minute=%time:~3,2%+2
die 2 Minuten addiert, jedoch ist dann die führende Null weg und der Stundenwechsel fehlt.
Kann mir jemand vielleicht einen Tip geben?
Schönen Gruß
Christoph[/quote]
Daß so etwas in DOS-Batches geht, ist mir eigentlich total unbekannt. (Ich meine dieses :~3,2 Format und so.) Mit einer kleinen EXE könnte man so etwas wohl machen. Das Problem wäre, daß man, um es sauber in eine Umgebungsvariable zu bekommen, zwei ineinander verschachtelte BAT Dateien benutzen müßte, wobei die zweite von der EXE erstellt werden würde.
Beispiel, sowas wie:
--------------
ADD2.EXE >DOSET.BAT
DOSET.BAT
--------------
und die Exe selber würde nur den Zeitstring erzeugen und einfach "ausgeben".
Also die EXE würde ausgeben: SET MINUTE=xx:yy:zz
(wobei xx:yy:zz dann die Zeit im richtigen Format wäre)
Man könnte es auch so machen, daß die EXE es NICHT ausgibt, sondern selbst diese DOSET.BAT generiert.
Aber ersteres würde halt bewirken, daß, wenn man die EXE ohne die Ausgabe-Umleitung (also dieses > ) startet, den Kram auf dem Bildschirm (statt in ein File) ausgeben würde.
Soll ich so eine ADD2.EXE mal fix schreiben oder kriegst Du die selbst hin? (Kostet mich 5 Minuten.)