elf0r
Goto Top

logdatei automatisch mit aktuellem Datum benennen

Hi @ all,

ich möchte gerne das meine Batch die erzeugte Logdatei nicht mit dem Namen logfile.log benennt sonder immer mit dem aktuellen Datum.

Hier mein bisheriger Code:

@echo off
robocopy "Quellpfad" "Zielpfad" "*.*" /e /s >> logfile.log


Danke im Vorraus

Content-ID: 21197

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

Ausgedruckt am: 22.11.2024 um 13:11 Uhr

10545
10545 08.12.2005 um 07:33:45 Uhr
Goto Top
Moin,

ich bin mir nicht ganz sicher, aber so sollte es gehen:

(Für W2000/XP):
<tt>
::Die Variable definieren
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set CDATE=%%c-%%b-%%a
::Der Kopiervorgang
md C:\Logfiles\%cdate%
copy "[Pfad/Deine Datei]" "C:\Logfiles\%cdate%\%cdate%.log"
Pause</tt>

Als letzten Befehl kannst Du auch EXIT nehmen, dann erwartet er keinen Tastendruck mehr zum beenden der Batch.

Gruß, Rene
PS: Den obigen Schnipsel habe ich mir recht schnell "gegoogelt" ? Google ist Dein Freund face-wink
eLf0r
eLf0r 08.12.2005 um 07:55:17 Uhr
Goto Top
Hi Rene,

hat mir sehr geholfen. hat sofort geklappt.

Danke

Christian
10545
10545 08.12.2005 um 08:31:14 Uhr
Goto Top
Freude face-wink
Biber
Biber 08.12.2005 um 10:12:38 Uhr
Goto Top
Moin efL0r und Rene,

nur als Fußnote - schön, dass es auf Anhieb geklappt hat, passt auch in 85% der Fälle.
Wenn nämlich %date% als "TT.MM.JJJJ" zurückkommt.
Wenn es auch passen soll, wenn das angezeigte (deutsche) Datumsform einen Wochentag beinhaltet, dann:
Set MyDateOhneDoW=%date%
:: Die nächste Code-Zeile ändert nur dann etwas, wenn ein Wochentag mitgeliefert wird.
:: Aus "Sa 01.10.2005" wird dann "01.10.2005"
FOR /F "tokens=2" %%i in ("%MyDateOhneDoW%") do Set MyDateOhneDoW=%%i
ECHO Heute ist %MyDateOhneDow%
[zitiert aus dem Tutorial unten]
Dann wären zumindest 97% der Fälle erschlagen.

Wenn es ganz unabhängig von Länder/Sprach/Usereinstellungen sein soll ("99,5%-Lösung"), dann steht am Ende des ein universeller Batch für diesen Zweck.

Und, weil es mich bei dieser Google-Lösung immer wieder nervt:
(funktioniert)
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set CDATE=%%c-%%b-%%a
(reicht auch)
FOR /F "tokens=1-3 delims=/. " %%a in ("%date%") do set CDATE=%%c-%%b-%%a

Grüße Biber
10545
10545 09.12.2005 um 08:03:14 Uhr
Goto Top
face-big-smile

Ich habe schon drauf gelauert, wann der "Biber zubeisst" face-wink

Wenn es um Batches geht, scheint beim lieben Frank immer ein "Pawlowscher Reflex" in die Finger zu fahren face-big-smile ? das Know-how ist immer wieder beindruckend!

Liebe Grüße,
Rene

PS: @Biber: Von mir gibts ein paar Sterne, und zwar mehr als einen (auf den warte ich noch) face-wink
Biber
Biber 09.12.2005 um 11:15:53 Uhr
Goto Top
face-wink @Rene

Na, hier in diesem Beitrag hast Du jedenfalls die Sternchen verdient - Deine Lösung hat sofort gepasst und eLf0r zum Strahlen gebracht... dann geb ich sie Dir lieber hier als in dem Beitrag, wo Du so gebettelt hast... *gg

Schönes Wochenende
Biber