renedd
Goto Top

Datei kopieren und anschliesend fortlaufend nummerieren

Ich habe folgendes Problem:

Täglich wird ein logfile erzeugt jedoch wird es immer wieder überschrieben.

Mein Lösungsansatz sieht wie folgt aus:

1. Datei aus einem Verzeichnis in ein anderes Verzeichnis kopieren
2. Datei umbenennen und fortlaufend numerieren (3stellig)

Hat jemand von den Codern eine pfiffige Idee wie man das umsetzen kann bin für jeden Hinweis wirklich dankbar

Gruß Rene

Content-Key: 195540

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

Printed on: April 20, 2024 at 01:04 o'clock

Member: bastla
bastla Dec 07, 2012 updated at 22:46:38 (UTC)
Goto Top
Hallo Renedd und willkommen im Forum!

Wäre es nicht vielleicht sinnvoller, dem Dateinamen das Datum hinzuzufügen? Das könnte dann (ungetestet) so aussehen:
@echo off & setlocal
set "Quelle=D:\Ordner mit aktuellen Logs"  
set "Log=Logfilename.log"  
set "Ziel=D:\Ordner mit archivierten Logs"  

for %%i in ("%Quelle%\%Log%") do move "%%i" "%Ziel%\%%~ni_%date:~-4%-%date:~-7,2%-%date:~-10,2%%%~xi"  
Falls Du dennoch Deinen ursprünglichen Ansatz realisieren möchtest:
@echo off & setlocal
set "Quelle=D:\Ordner mit aktuellen Logs"  
set "Log=Logfilename.log"  
set "Ziel=D:\Ordner mit archivierten Logs"  

set /a Nr=1001
:Loop
if exist "%Ziel%\%Nr:~-3%_%Log%" (set /a Nr+=1 & goto :Loop)  
move "%Quelle%\%Log%" "%Ziel%\%Nr:~-3%_%Log%"  
Grüße
bastla
Member: Renedd
Renedd Dec 07, 2012 at 23:01:33 (UTC)
Goto Top
Super ohne Worte, einen schönen 2. Advent wünsche ich Dir.

Gruß Rene