XCOPY Backupskript
Ab und zu möchte man seine eigenen Dateien unter Windows schnell sichern. Für diesen Zweck habe ich eine kleine Batchdatei geschrieben die dies für mich erledigt.
Da meine externe Festplatte immer auf E: liegt habe ich das hier fest kodiert. Das kann jedoch ggf. geändert werden.
@ECHO OFF
ECHO "Prüfen ob externe Festplatte vorhanden..."
IF NOT EXIST "E:" GOTO FEHLER_KEINEHDD
ECHO "Zielverzeichnis prüfen..."
IF NOT EXIST "E:\Daten_%USERNAME%"
MKDIR E:\Daten_%USERNAME%
ECHO "Persönliche Daten kopieren..."
XCOPY "%HOMEDRIVE%\%HOMEPATH%\*.*" "E:\Daten_%USERNAME%" /S /E /C /H /R /Y /D /G /Q
ECHO "Datentransfer fertig..."
GOTO ENDE :FEHLER_KEINEHDD
ECHO " Abbruch - Es ist keine externe Festplatte vorhanden..."
GOTO ENDE :ENDE
PAUSE
Achtung! Dateien die nur auf dem Backupdatenträger existieren jedoch nicht mehr im lokalen Datenbestand werden nicht gelöscht. Von Zeit zu Zeit ist es also nötig, das Zielverzeichnis zu säubern?
Das Skript kopiert alle Ordner (auch leere) auf das Zielverzeichnis. Bei Fehlern wird einfach fortgeführt und vorhandene Dateien werden ohne Nachfrage überschrieben. Sollte das Quellaufwerk verschlüsselt sein werden die Daten auch auf unverschlüsselte Ziele kopiert.
Wer eine extra Festplatte nur für diesen Zweck hat, kann das Skript auch durch die Autorun-Funktion aufrüren lassen.
Hier noch das Beispiel für eine exclude.txt für ein Windows Vista System. Ausgeschlossen werden neben temporären Dateien und Cookies (hier mach das kopieren keinen Sinn) auch die deutschen Ordner. Hintergrund ist, dass es sich hier lediglich um Links auf die englischen Ordner handelt. Ohne das Ausschließen dieser Verzeichnisse gibt der xcopy-Befehl eine entsprechende Fehlermeldung aus.
- Temp
- Cookies
- AppData
- Eigene Bilder
- Eigene Musik
- Eigene Videos
- Anwendungsdaten
- Druckumgebung
- Eigene Dateien
- Lokale Einstellungen
- Netzwerkumgebung
- Recent
- SendTo
- Startmenü
- Vorlagen
Alternativen
Der Artikel ist schon recht alt. Inzwischen gibt es einige sehr gute Programme die diese Aufgabe wesentlich besser lösen. Ich verwende SyncBack (Pro) von 2BrightSparks dafür. Die kostenfreie Freeware Version ist für die meisten Anwendungen ausreichend. Für den anspruchsvollen Anwender gibt es die Pro Version für ein paar Euro.
Aber auch Windows liefert ja kostenlose Kommandozeilenprogramme mit, welche das ganze wesentlich smarter lösen. robocopy