madcore 10 Geschrieben 7. Januar 2003 Melden Teilen Geschrieben 7. Januar 2003 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 Zitieren Link zu diesem Kommentar
bigzorro 10 Geschrieben 7. Januar 2003 Melden Teilen Geschrieben 7. Januar 2003 ich lasse immer eine exceldatei per datum erstellen. mach ich mit der variable %date%, also %date%.xls, bei dir dann eben %date%.log :D Zitieren Link zu diesem Kommentar
substyle 20 Geschrieben 7. Januar 2003 Melden Teilen Geschrieben 7. Januar 2003 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 Zitieren Link zu diesem Kommentar
madcore 10 Geschrieben 7. Januar 2003 Autor Melden Teilen Geschrieben 7. Januar 2003 hey jungs! ihr seit echt super! vielen dank, ihr habt mir sehr geholfen! gruss axel! Zitieren Link zu diesem Kommentar
Lian 2.436 Geschrieben 7. Januar 2003 Melden Teilen Geschrieben 7. Januar 2003 Schliesse mich madcore an: Gute Arbeit Zitieren Link zu diesem Kommentar
nerd 28 Geschrieben 8. Januar 2003 Melden Teilen Geschrieben 8. Januar 2003 echt guter Tipp! Hat einer von euch beiden Spezialisten vielleicht so ne Art übersicht über alle möglichen Variablen unter den verschiedenen OS? Sowas suche ich schon seit Monaten... Gruß Zitieren Link zu diesem Kommentar
substyle 20 Geschrieben 8. Januar 2003 Melden Teilen Geschrieben 8. Januar 2003 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 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.