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-Key: 21197

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

Printed on: April 18, 2024 at 23:04 o'clock

Mitglied: 10545
10545 Dec 08, 2005 at 06:33:45 (UTC)
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
Member: eLf0r
eLf0r Dec 08, 2005 at 06:55:17 (UTC)
Goto Top
Hi Rene,

hat mir sehr geholfen. hat sofort geklappt.

Danke

Christian
Mitglied: 10545
10545 Dec 08, 2005 at 07:31:14 (UTC)
Goto Top
Freude face-wink
Member: Biber
Biber Dec 08, 2005 at 09:12:38 (UTC)
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
Mitglied: 10545
10545 Dec 09, 2005 at 07:03:14 (UTC)
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
Member: Biber
Biber Dec 09, 2005 at 10:15:53 (UTC)
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