mitsch
Goto Top

ntbackup.log-Dateien umbenennen funktioniert im englischsprachigen Windows 2003 Server

aber nicht im deutschsprachigen Windows 2003 Server

Gleich vorweg: meine Script-Kenntnisse sind äußerst bescheiden.

Ich möchte innerhalb eines Scripts die backup-Logs automatisch wegkopieren und umbenennen lassen. Deshalb hab ich mir von der MS KB 241162 "Sicherungsberichtprotokolle speichern an alternativem Standort" das Script kopiert und unter einem englischsprachigen Windows 2003 Server getestet. Da hat das wunderbar funktioniert!

Das selbe Script wollte ich dann auf einem deutschsprachigen Windows 2003 Server testen - geht nicht!

Er kopiert zwar die backupxx.log in das gewünschte Verzeichnis, benennt die Dateien aber nicht um. Der Fehler muss also irgendwo hier drin sein:

FOR /F "usebackq tokens=1" %%n IN (`dir c:\templog /b`) DO @for /F "usebackq tokens=2,3,4 delims=/ " %%d IN (`date /t`) DO @for /F "usebackq tokens=1,2 delims=: " %%t IN (`time /t`) DO @Ren c:\templog\%%n %%d%%e%%f-%%t%%u.log

Ich hab schon alles im Netz abgegrast, find aber nichts, vielleicht kann von euch jemand mal eine Auge darauf werfen.

Content-ID: 17016

Url: https://administrator.de/contentid/17016

Ausgedruckt am: 13.11.2024 um 11:11 Uhr

Biber
Biber 03.10.2005 um 21:46:27 Uhr
Goto Top
Moin Mitch,

dazu wirst Du auch im Netz nichts finden.
Der auf der MS-KB abgedruckte Example-Batch ist eine lieblos zusammengeschluderte Praktikantenskizze mit formalen und inhaltlichen Fehlern - das Ding ist nie getestet worden und sollte bestenfalls Anregungen für einen produktiven Batch bieten.

Und diese ganzen kryptischen 200-Zeichen-Zeilen in dem Batch sind nur Spiegelfechterei - soll vom fehlenden Konzept ablenken. Und den fehlenden Kommentaren. Auch ohne Programmierkenntnisse - mal Dir mal auf ein Blatt Papier auf, was da wann in welche Verzeichnisse kopiert wird - sieht ein bisschen nach hilflosem Rudern mit den Armen aus.

Egal - diesen sich mühsam am Laufen haltenden Batch nun nochmal auf deutsche Datums/Zeitformate umzustellen, hilft nur kurzfristig - der läuft auch nicht ohne Anpasssungen auf XP und Win2000.

Mein Rat: mach nicht aus den bisherigen 20 Zeilen 2x 20 (für Deutsch und US-EN), sondern mach einen Batch draus, der sprach- und versionsunabhängig robust läuft.

Ein paar Vorüberlegungen dazu habe ich heute morgen <a href= target="blank"> hier gepostet.</a>

HTH Frank / der Biber aus Bremen
Mitsch
Mitsch 06.10.2005 um 12:10:47 Uhr
Goto Top
Hallo Frank,

vielen Dank für die Antwort!

Dass dieses Datums-Thema so umfangreich wird, damit hab ich nicht gerechnet....
Biber
Biber 06.10.2005 um 13:04:10 Uhr
Goto Top
Hallo Mitsch,

wir können ja gerne mal einen robusten 30-Zeiler zusammenschreddern, der das macht, was M$ verspricht - natürlich für US und dt. Versionen von W2k über XP bis W2003 ...
...aber dann am Wochenende.

Und nur, wenn vorher klar ist, was denn der genaue Funktionsumfang/das genaue Ziel ist (das wäre Dein Part).

Gruß
Biber
Mitsch
Mitsch 07.10.2005 um 14:29:31 Uhr
Goto Top
Hallo Frank,

also dass diese "for"-Anweisung im dt. OS nicht funktioniert hat mir keine Ruhe gelassen.
Dank deiner wirklich ausführlichen Erklärungen der Datums- und Zeitangaben hab ich dann schließlich auch den Fehler gefunden.

Und zwar hier: ... delims=/......

Die Trennung zw. TTMMYY ist unterschiedlich und das hat er nicht erkannt.
Biber
Biber 10.10.2005 um 10:38:48 Uhr
Goto Top
Moin, Mitsch,
freut mich, dass mein Tutorial wenigstens zu etwas nütze war face-wink

Und - zugegeben - ich habs mir auch mühsam verkniffen, eine aufs deutsche Datumsformat angepasste FOR-Schleife zu posten bei Deiner ersten Frage... denke aber, so (mit dem einmal selbst machen und verstehen) bist Du unterm Strich besser bedient.

Frank / der Biber aus Bremen