Dateien kopieren in neuen Ordner
Hallo ich hoffe mir kann einer hier helfen, da ich mich nicht wirklich mit Batch auskenne.
Im Ordner "Quelle" entstehen jeden Tag einige Dateien.
Ich will alle Dateien von einem Ordner "Quelle" in den Ordner "Ziel" kopieren.
In der Quelle soll alles was älter ist als 10 Tage gelöscht werden.
Das funktioniert auch.
Jetzt habe ich aber auch manchmal (selten) Dateien mit gleichen Namen in der Quelle und schon im Ziel.
Kann man irgendwie das Ziel prüfen und wenn es die Datei schon gibt den aktuellen Zeitsempel anhängen?
Beispiel die Datei Maschine1error2843.txt ist schon im Ziel und wird nochmals kopiert, aber die neue Datei heißt dann Maschine1error2843_12.04.2024.txt
Es liegen dann 2 Dateien im Ziel
Datei Maschine1error2843.txt und Maschine1error2843_12.04.2024.txt
Ich danke schon Mal im voraus, muss mich da mal einarbeiten.
Leider ist programmieren nicht so meins.
Im Ordner "Quelle" entstehen jeden Tag einige Dateien.
Ich will alle Dateien von einem Ordner "Quelle" in den Ordner "Ziel" kopieren.
In der Quelle soll alles was älter ist als 10 Tage gelöscht werden.
Das funktioniert auch.
set SourceDir="E:\Quelle 1"
set TargetDir="E:\Ziel"
xcopy %SourceDir% %TargetDir% /s /d
forfiles /p %SourceDir% /s /m *.esws /d -10 /c "cmd /c del @file"
pause
Jetzt habe ich aber auch manchmal (selten) Dateien mit gleichen Namen in der Quelle und schon im Ziel.
Kann man irgendwie das Ziel prüfen und wenn es die Datei schon gibt den aktuellen Zeitsempel anhängen?
Beispiel die Datei Maschine1error2843.txt ist schon im Ziel und wird nochmals kopiert, aber die neue Datei heißt dann Maschine1error2843_12.04.2024.txt
Es liegen dann 2 Dateien im Ziel
Datei Maschine1error2843.txt und Maschine1error2843_12.04.2024.txt
Ich danke schon Mal im voraus, muss mich da mal einarbeiten.
Leider ist programmieren nicht so meins.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 12156970466
Url: https://administrator.de/contentid/12156970466
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo,
Welches OS nutzt du welches den Parameter /s kennt? Mein Win11 kennt den /s nicht zum Copy Befehl.
https://itv4.de/datum-einer-datei-unter-windows-manuell-aendern/
https://www.macuser.de/threads/erstell-aufnahme-aenderungsdatum-von-viel ...
Ausserdem gibt es noch xcopy, Robocopy und viele andere. Ich würde Robocopy nehmen, ist auch im Windows OS enthalten. Parameter wie immer mit /? also Robocopy /? im sogenannten CMD Fenster (Kommandozeile)
Gruss,
Peter
Zitat von @Immofreund:
xcopy %SourceDir% %TargetDir% /s /dWelches OS nutzt du welches den Parameter /s kennt? Mein Win11 kennt den /s nicht zum Copy Befehl.
Kann man irgendwie das Ziel prüfen
Ja, vor dem Copy prüfen.und wenn es die Datei schon gibt den aktuellen Zeitsempel anhängen?
Ja, kann manBeispiel die Datei Maschine1error2843.txt ist schon im Ziel und wird nochmals kopiert, aber die neue Datei heißt dann Maschine1error2843_12.04.2024.txt
Warum diesen quatsch. Wenn der Inhalt Bit bzw. Byte identisch ist, einfach kopieren. Das Dateiattribut Datum/Uhrzeit wird auch geändert. Es gab zu MS-DOS 2.1 Zeiten das Datum 1 mal bei Dateien. Erstellt. Mittlerweile gibt es Erstell, geändert, zuletzt gelesen /letzter zugriff) und dann noch diverse Eintragungenen in EXIF.https://itv4.de/datum-einer-datei-unter-windows-manuell-aendern/
https://www.macuser.de/threads/erstell-aufnahme-aenderungsdatum-von-viel ...
Es liegen dann 2 Dateien im Ziel
Aber diese sind Byte bzw. Bit Identisch. UnfugAusserdem gibt es noch xcopy, Robocopy und viele andere. Ich würde Robocopy nehmen, ist auch im Windows OS enthalten. Parameter wie immer mit /? also Robocopy /? im sogenannten CMD Fenster (Kommandozeile)
Gruss,
Peter
Hallo,
Dann stell deine Dateinamen komplett um z.b. Maschine1error2843_20240412_hhmmss.txt. Das machst du vorher und kannst dann stumpf kopieren. Meist ist es besser im Dateinamen mit JJJJMMTT amstelle von TT.MM.JJJJ zu arbeiten. Dann klappt es auch mit Sortieren. Und da diese Attribute zum Dateisystem gehören können mittels Batch schnell deine zig Millionen Dateien umbenannt werden.
Also in Zukunft den Dateinamen ändern, dann kopieren. Fertisch
Gruss,
Peter
Dann stell deine Dateinamen komplett um z.b. Maschine1error2843_20240412_hhmmss.txt. Das machst du vorher und kannst dann stumpf kopieren. Meist ist es besser im Dateinamen mit JJJJMMTT amstelle von TT.MM.JJJJ zu arbeiten. Dann klappt es auch mit Sortieren. Und da diese Attribute zum Dateisystem gehören können mittels Batch schnell deine zig Millionen Dateien umbenannt werden.
Also in Zukunft den Dateinamen ändern, dann kopieren. Fertisch
Gruss,
Peter