Jump to content

per batch dateinamen mit datum versehen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

hallo ihr! ;-)

 

batchen geht ja soooo einfach, hab ich gedacht.

na gut, eigentlich doch. aber manchmal verfehlt man halt sein ziel. ich lasse monatlich eine logdatei vom apache server in ein "backup-verzeichnis kopieren, lösche die originaldatei, um so monat für monat separierte logfiles zu erhalten. nun möchte ich aber nicht immer die datei auf dem backupverzeichnis umbenennen müssen, damit es nicht im nächsten monat von der aktuellen überschrieben wird.

weiss jemand, wie ich den dateinamen per batch automatisch jeden monat erweitere, also z.b. um das aktuelle datum

z.b. access.log -> access_03-01.log usw...

 

vielen dank für eure hilfe!

 

 

gruss

axel

Link zu diesem Kommentar

Die %date% Variable ist schön ...

noch etwas ausführlicher gehts so:

if %1/==:/ goto %2
  if NOT %1/==/?/ goto Begin
  for %%C in (echo. goto:End) do %%C
 :Begin
  echo. | date | FIND "(mm" > NUL
  if NOT errorlevel 1 %0 : %OS%Parse MM DD
                      %0 : %OS%Parse DD MM
 :Windows_NTParse 
  for /f "tokens=1-4 delims=/.- " %%A in ('date /t') do (
    set Dow=%%A&set %3=%%B&set %4=%%C&set YYYY=%%D&goto End)
 :Parse
  for %%C in (md cd) do %%C @tmp@
  echo @prompt set _D=$D$_> ~tmp1.bat
  %COMSPEC% /e:2048 /c ~tmp1.bat > ~tmp2.bat
  call ~tmp2
  echo %_D% | FIND "/" > NUL
  if NOT errorlevel 1 goto Slash
  lfnfor on > "%_D%.-"
  ren "%_D%.-" "??? ?? ?? ????"
  for %%F in ("??? ?? ?? ????") do set _D=%%F
  lfnfor off
 :Slash
  echo set DOW=%%%3%%>~tmp1.bat
  for %%S in ("%3=%%%4%%" "%4=%%YYYY%%" "YYYY=%%1") do echo set %%S>>~tmp1.bat
  for %%S in (%_D%) do call ~tmp1 %%S
  echo %_D% | FIND "/" > NUL
  if errorlevel 1 goto Cleanup
  echo @prompt set %4=$%%%4%%$_set YYYY=$%YYYY%$_ > ~tmp1.bat
  %COMSPEC% /e:2048 /c ~tmp1.bat > ~tmp2.bat
  call ~tmp2
 :Cleanup
  for %%C in ("set _D=" cd.. "deltree /y @tmp@ > NUL") do %%C
 :End

 

Funzt auch unter Win9x und du kannst die Variablen

 

%DOW% %DD% %MM% %YYYY%

 

benutzen und umstellen wie du willst.

 

subby

Link zu diesem Kommentar

Hallo Johannis ...

 

Alle Variablen ?? Warum sind Variablen Variabel ?? Genau ! Damit man sie frei defenieren kann ... :)

 

Eine Liste der Systermvariablen bekommst du angezeitgt im dem du in der console "set" angibts.

Du kannst dies auch in eine Datei schpeichern z.B. so:

 

set > c:\variablen.txt 

 

Oder aber du benutzt den "help" befehl ... er listet alle möglichen CMD Befehle auf. Sehr gut ist übrigens auch die WindowsHilfe , wollte ich erst nicht glauben, ist aber wahr.

 

 

subby

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...