[BATCH] Nur neue Log-Dateien kopieren+umbenennen

Bacaco

Newbie
Registriert
Jan. 2009
Beiträge
5
Hallo,
ich als Neuling bräuchte bitte eure Hilfe.

Es geht um folgendes:
Ich habe einen Ordner mit Log-Dateien, die auf *.alt enden. Diese werden in unterschiedlichen Zeitabständen immer wieder geändert und überschrieben. Da ich die alten *.alt Dateien nicht verlieren möchte, möchte ich diese nun per Batch in einen anderen Ordner kopieren und das Datum anhängen.

Habe nun folgenden Code:

Code:
@echo off
for %%F in (\\testordner\*.alt) do Call :kopieren "%%F"

rem goto :eof

:kopieren

xcopy /d "%~1" "\\testordner\backup\%~n1 - %date%.alt*"
 
:: back to caller mit goto :eof
rem pause
goto :eof


Das Problem bei diesem Code ist, dass er mir alles schön kopiert, aber er kopiert mir auch die Dateien, die NICHT geändert wurden, d.h. ich habe danach Dateien doppelt und dreifach.
Er soll mir wirklich nur die kopieren, die geändert wurden und dann das aktuelle Datum noch mitdranhängen.

Danke für Eure Hilfe,

Bacaco


PS: so ein Problem gab es schonmal hier im Forum, nur habe ich kA wie robocopy funzt... wäre euch dankbar für Lösungsvorschläge in Code-Form
 
*Split* [BATCH] Nur neue Log-Dateien kopieren+umbenennen

Hi und willkommen im Forum...
Versuch doch mal
Code:
xcopy /m "%~1" "\\testordner\backup\%~n1 - %date%.alt*"

zudem benutzt du den Parameter /d falsch... denn eine Datei neuer als die Zieldatei kann es ja gar nicht geben, wenn du bei der Zieldatei das aktuelle Datum anhängst (damit gibt es die Zieldatei ja nicht)
 
Zuletzt bearbeitet:
Danke für die schnelle Antwort...habe es mal eingefügt, mal schauen, ob er morgen die vorhandenen Dateien nocheinmal kopiert.

das mit /d hört sich logisch an, hatte da wohl ein Verständnisproblem des Parameters.

Werde mich dann bei neuen Ergebnissen melden :)
 
Hi,
also habe es mal mit dem neuen Parameter /m getestet...leider kopiert er weiterhin alle Dateien, auch die, die nicht verändert und schoneinmal kopiert worden sind...

gibt es vielleicht eine Möglichkeit, das Erstelldatum der Dateien im Originalordner mit denen aus den Dateien vom Backupordner zu vergleichen? Dann würde er denke ich, nicht immer wieder die schon kopierten Dateien kopieren...oder?
Oder kann ich es irg wie mit copy machen?
 
Hast du /m auch mehrmals probiert? Beim ersten Mal sollte er alle kopieren, das wäre normal, beim zweiten Mal nur noch die geänderten/neuen.
 
also das ganze läuft jetzt seit letzter Woche... habs im Taskplaner und der führt die Batch jeden Tag aus...

kopiert aber trotzdem alle...kann es vllt sein, dass aus irg welchen Gründen der Archivbit automatisch zurückgesetzt wird?
 
Hmm normalerweise wird das nur gesetzt, wenn sich die Dateien ändern...
Eventuell wäre auch robocopy was für dich, ka wie sich da alles einstellen lässt (müsstest mal googlen, robocopy kommt von robust copy)
 
hat sich erledigt thx...weiss zwar nicht wieso es nicht auf anhieb gefunzt hat, aber jetzt geht es nach dem ich alles mal gelöscht und den Task nochmal angelegt hab...
lösung: parameter /m mit xcopy
 
Zurück
Oben