Batch time Problem bei bestimmter Uhrzeit

R

reaper2k11

Gast
Hallo,
ich rätsel schon die ganze Zeit, wieso er die Ausgabe beim time Command nicht richtig ausgibt.
Code:
:: Schutz vor ausversehenen Start
:: ===============================
ping localhost -n 10

set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set stunde=%time:~-11,2%

set Ziel=D:\BACKUP\Install\#Spiegelung_taeglich

ROBOCOPY "C:\Install" "%Ziel%" /MIR /DCOPY:T /LOG:%Ziel%\logs\%jahr%-%monat%-%tag%_%stunde%h.txt

Soweit so gut, die Batch ist in der Aufgabenplanung und wird täglich um 8 Uhr ausgeführt. Wenn ich den Batch um 18 Uhr ausführe, gibts keine Probleme.
Und zwar legt er die log-Datei nicht richtig an.

Ergebnis momentan: 2013-03-01_
Sollte SO sein: 2013-03-01_8h.txt

Dasselbe Problem habe ich auch in anderen Batches, welche um 04 Uhr laufen. Aus irgednwelchen gründen, bekommt er das nicht hin :/
 
Zuletzt bearbeitet:
Um 4 Uhr steht in %stunde% " 4" (man beachte das Leerzeichen vor der 4!).

Du musst also den Pfad zur Logdatei in Anführungszeichen setzen oder das Leerzeichen rausfiltern.

Wie du die Stunde als "04" bekommst wird hier ganz gut erklärt.
 
Ah jetzt sehe ich es, du hast Recht. Hab das auf mkri umgebaut und tatsächlich ein Leerzeichen drin.
Robocopy schluckt das in Anführungszeichen nicht.

Habe dank deines Links rausgefunden, dass das hier funktioniert für die Zeit von 00-09 Uhr. Wäre es 14 Uhr, so gibt er 4 aus, streicht also die 1 weg.:
Code:
set stunde=%time:~1,1%

Gibts da nicht noch was besseres?

EDIT: Puuh, mir ist somit noch etwas gravierendes aufgefallen !!!
Beim ausführen zwischen 00 und 09 Uhr, womit dann wieder die .log Datei nicht passt, spiegelt robocopy ausschließlich Ordner und keine Dateien mehr.


Zum Glück ist mir das jetzt beim testen aufgefallen, sonst hätte ich im Falle eines Falles schlechte Karten gehabt.
 
Zuletzt bearbeitet:
Zurück
Oben