Verzeichnisse per Batch spiegeln
Auf meinem PC pflege ich ein Verzeichnis mit wichtigen Programmen und Dateien wie aktuellen Servicepacks, Treibern etc. Dieses Verzeichnis synchronisiere ich per Batch-Datei mit mehreren USB-Sticks. Das Skript kopiert das Quellverzeichnis mit xcopy vom PC auf die Sticks. Dabei werden neue und geänderte Dateien hinzugefügt, aber die alten, auf der Quelle nicht mehr vorhandenen Dateien bleiben erhalten. Das führt dazu, dass der Stick sich nach und nach mit nicht mehr benötigten Dateien anfüllt. Wie kann ich es aus der Batch-Datei heraus anstellen, dass auf dem Ziel nur die Dateien erhalten bleiben, die es in der Quelle auch gibt?
Auf meinem PC pflege ich ein Verzeichnis mit wichtigen Programmen und Dateien wie aktuellen Servicepacks, Treibern etc. Dieses Verzeichnis synchronisiere ich per Batch-Datei mit mehreren USB-Sticks. Das Skript kopiert das Quellverzeichnis mit xcopy vom PC auf die Sticks. Dabei werden neue und geänderte Dateien hinzugefügt, aber die alten, auf der Quelle nicht mehr vorhandenen Dateien bleiben erhalten. Das führt dazu, dass der Stick sich nach und nach mit nicht mehr benötigten Dateien anfüllt. Wie kann ich es aus der Batch-Datei heraus anstellen, dass auf dem Ziel nur die Dateien erhalten bleiben, die es in der Quelle auch gibt?
Verwenden Sie statt xcopy das modernere robocopy. Seine Befehlszeilenparameter sind zwar ein bisschen gewöhnungsbedürftig, bieten dafür aber mit der Option /MIR genau das, was Sie suchen: Sie sorgt dafür, dass das Programm nach dem Kopieren alle Dateien im Zielordner löscht, die in der Quelle nicht mehr vorhanden sind.
In Windows 7 und Vista ist robocopy bereits enthalten; für Windows XP können Sie es als Bestandteil der Windows Server 2003 Resource Kit Tools kostenlos bei Microsoft herunterladen.