schrecke
Goto Top

Batch-script zum Kopieren aller files eines Ordners - vorhande files im Zielordner jedoch löschen wenn nicht im Quellordner nicht vorhanden

im Prinzip eine Sychronisation in eine Richtung ...

Hi

ich wollte mir ein script schreiben, was folgende Funktion erledigt.

Es kopiert alle Dateien eines Ordner in einen anderen (auf externer HDD)
bereits vorhandene werden nicht überschrieben
(und nun das Wichtigstes)
Dateien, welche im Zielordner vorhanden sind, im Quellordner jedoch nicht (mehr), sollen im Zielordner gelöscht werden.

Anwedungsbeispiel:
in einem Ordner landen immer aktuelle Dateien wie music oder Filme. Dieser Ordner soll so auch auf der externen Platte sein. Lösch ich dann zB paar Filme im Quell-Ordner, sollen diese auch auf der externen Platte verschwinden.

Im Prinzip eine Sychronisation in eine Richtung.

Aktuell kopiere ich immer einfach die ganzen Dateien auf die externe Platte, und muss dann immer vergleichen, ob im Quellordner irgendwelche Dateien nicht mehr da sind, um diese dann auf der externen zu löschen.

Wie kann ich sowas machen?

Dank euch
schrecke

Content-Key: 120226

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

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

Member: 2hard4you
2hard4you Jul 10, 2009 at 17:14:42 (UTC)
Goto Top
Moin,

falls es XP oder Vista ist, ist robocopy mit der Option /MIR Dein Freund

gib mal bei start - ausführen - robocopy.doc ein, das Tool kann noch viel mehr ^^

Gruß

24
Member: schrecke
schrecke Jul 10, 2009 at 17:21:44 (UTC)
Goto Top
danke dir ...

die Datei kann ich nicht öffnen, aber Hilfe gibts ja auch im net

"Wie lege ich ein Backup an?

Prinzipiell benötigen Sie zum Anlegen eines Backups nur einen einzigen Parameter von Robocopy. Dieser Parameter lautet /MIR (Mirror). /MIR legt eine Spiegelung der Struktur der Quelle in einem von Ihnen vorgegebenen Archiv-Ordner an. /MIR besteht eigentlich aus zwei Parametern von Robocopy. /E und /PURGE. /E kopiert alle vollen und auch leeren Unterverzeichnisse, /PURGE löscht alle Dateien im Zielordner, die in der Quelle nicht mehr vorhanden sind. Die Struktur des Befehls muss aussehen wie folgt:"

das wird mir wohl helfen, danke dir

gn8
Member: Chris85
Chris85 Jul 11, 2009 at 06:33:18 (UTC)
Goto Top
Hi

Das kannst du alles mit syncToy von Microsoft machen. Ist ind er Handhabenung sehr gut und selbsterklärend. Benutze ich schon länger kannst es dir j mal anschauen.


Gruß

chris
Member: miniversum
miniversum Jul 11, 2009 at 09:47:58 (UTC)
Goto Top
Und mit bordmitteln sieht das dann so aus:
@echo off
set "src=c:\ordner"  
set "dest=C:\ordner 2"  
copy /Y "%src%\*.*" "%dest%\"  
FOR /F "delims=" %%i in ('dir /B "%dest%\*.*"') do if not exist "%src%\%%i" del "%dest%\%%i"  
Member: schrecke
schrecke Jul 11, 2009 at 12:10:41 (UTC)
Goto Top
danke euch allen ... das synctool fetzt und funktioniert. aber vlt. bau ich mir trotzdem ne batch, mal sehen

danke euch face-smile