wammel
Goto Top

Per Batch Logfile bei bestimmter Größe umbennen

Hallihallo, habe ein kleines Problem mit Logfiles..

Hallihallo,

also ich habe folgendes Frage, und zwar, wie lassen sich per Batch Logfiles bei einer bestimmten Größe umbennnen und in einen Unterordner verschieben?

Situation ist folgende: Ein Programm erzeugt 2 Logfiles mit unterschiedlichem Namen, diese möchte ich gerne bei einer Größe von z.B: 50MB automatisch umbennen & neue leere Logfiles mit dem "alten" Namen erzeugen lassen, die beiden umbenannten Dateien sollen dann in den Unterordner "X" verschoben werden.

Ich hatte zwar folgenden Thread hier gefunden: Umbenennen von TXT dateien mit größe x oder größer per Batch ; aber da steige ich nicht wirklich durch, da ich nicht wirklich sooo der Programmierer bin ;)

Also hätte jemand von euch ne Idee wie ich mein Problem lösen kann?

Danke schonmal..

Greetz
Kommentar vom Moderator Biber am Jan 20, 2011 um 09:39:26 Uhr
Per Batch Logfile bei bestimmter Größe umbennen
Set /a rgc+=1
#722

Content-Key: 159042

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

Printed on: April 25, 2024 at 07:04 o'clock

Member: bastla
bastla Jan 20, 2011 at 09:47:22 (UTC)
Goto Top
Hallo wammel und willkommen im Forum!
Also hätte jemand von euch ne Idee wie ich mein Problem lösen kann?
Vermutlich - obwohl Du bisher der einzige bist, der eine echte Chance hat, da nur Du die gewünschten neuen (bzw auch alten) Namen der Dateien kennst ... face-wink

Grüße
bastla
Member: wammel
wammel Jan 20, 2011 at 09:52:41 (UTC)
Goto Top
Hi,

Also die beiden Dateien heißen, Error.log & Aktiv.log.

Die neuen leeren zu erzeugenden Dateien müssten also diese Namen haben.

Die umbenannten einfach eine fortlaufende Nummer, z.B. Error1.log etc., oder aber wenn möglich inkl. Datum an dem die Datei umbenannt wurde, also z.B. Error19111.log.

Habe ich sonst noch was vergessen?;9

Greetz
Mitglied: 60730
60730 Jan 20, 2011 at 09:53:06 (UTC)
Goto Top
Moin,

da muß man doch keine Programmierer sein, um diese Zeilen an zu passen? - Vor allem weil der ordentlich "geremt" ist.

@echo off & setlocal
  • wird in der Testphase zu echo on & setlocal
set "log=c:\umbenennen\copy.log"
  • wird zu deinem umbennenjoblog
set "Pfad=c:\umbenennen\*log*.txt"
  • dort wird umbenannt
set "old=.old"
  • wie in was sollen die umbenannten umbenannt werden
set "gr=1024"
  • Ab wann ist eine Datei interessant für den Job

Gruß
Member: bastla
bastla Jan 20, 2011 at 13:41:02 (UTC)
Goto Top
Hallo wammel!

Der verlinkte Schnipsel sollte sich tatsächlich anpassen bzw zumindest als Vorlage verwenden lassen - was dann zu etwa diesem Ergebnis führen könnte:
@echo off & setlocal
set "Ordner=D:\Dein Ordner"  
set "Unterordner=X"  
set "Dateien=Error.log Aktiv.log"  
set /a Groesse=51200

set "Zusatz=%date:~-4%%date:~-7,2%%date:~-10,2%_%time:~,2%%time:~3,2%%time:~6,2%"  
pushd "%Ordner%"  
for %%i in (%Dateien%) do if %%~zi gtr %Groesse% (
    md "%Unterordner%" 2>nul  
    move "%%i" "%Unterordner%\%%~ni%Zusatz%%%~xi"  
    type nul>"%%i"  
)
popd
Wieviel vom vorgeschlagenen Zusatz (Anmerkung: Lässt sich einfach mit
echo %date:~-4%%date:~-7,2%%date:~-10,2%_%time:~,2%%time:~3,2%%time:~6,2%
direkt in der CMD-Shell testen) Du dann brauchen kannst, musst Du Dir selbst überlegen ...

Wenn Du sicher bist, dass es den Unterordner "X" schon gibt, kannst Du die Zeile 10 einsparen.

Grüße
bastla
Member: wammel
wammel Jan 20, 2011 at 13:58:18 (UTC)
Goto Top
Danke, klappt schonmal ganz gut, nur...

..es ist egal welche Größe ich in der Batch eingebe, es werden immer beide Dateien verschoben auch wenn sie unter dem Limit liegen!?

Woran kann das liegen?


/E ...hatte ein Paar Nullen vergessen...;)

Funktioniert jetzt Super, Danke!

Greetz
Member: bastla
bastla Jan 20, 2011 at 14:06:17 (UTC)
Goto Top
/E ...hatte ein Paar Nullen vergessen...;)
... bzw ich nicht darauf hingewiesen, dass ich mit etwas kleineren Dateien getestet hatte ... face-wink

Grüße
bastla