Das Microsoft Betriebssystem mag moderner geworden sein, bei Problemen will es aber doch "Heim zu Mama".
Diesen Umstand kann man sich zu nutzen machen, um unter Windows Prozesse zu steuern.
Ein wichtiger Prozess, der ständig stattfindet, ist das Kopieren.
Von Drag'n'Drop, deutsch „Ziehen und Fallenlassen“ bis zum Befehl xcopy c:/verz./*.* d:7verz./*.* gibt es verschiedene Möglichkeiten.
Eine der besten, z.B. auch um automatisiert zu kopieren, ist xcopy.
XCopy wird über Parameter gesteuert. Mittels XCOPY lassen sich schnell große Datenmengen mit allen Nutzer rechten und Dateiattributen auf einen anderen (Wechsel-) Datenträger kopieren, der dann in einem ausreichend geschützten Safe vor der Unbill kursierender Viren, Würmer sowie der täglichen Gefahr durch Plattencrashs oder Softwarefehler verborgen wird.
Die sinkenden Preise für Festplatten und mobile USB 2.0 Gehäuse machen die Datensicherung auf solchen Geräten sehr einfach und kostengünstig.
Das gute alte Magnetbandlaufwerk hat zwar sicherlich noch immer seine Daseinsberechtigung. Bei kleineren Firmen oder im Privatbereich reichen Wechselfestplatten jedoch meiner Meinung nach meistens aus. Langfristige Datensicherung lässt darüber hinaus von Zeit zu Zeit auch auf DVD machen.
Optionen des Befehls XCOPY
/A | Kopiert nur Dateien mit gesetztem Archivattribut, ändert das Attribut nicht |
/M | Kopiert nur Dateien mit gesetztem Archivattribut, setzt das Attribut nach dem Kopieren zurück. |
/D:M-T-J | Kopiert nur die an oder nach dem Datum geänderten Dateien. Ist kein Datum angegeben, werden nur Dateien kopiert, die neuer als die bestehenden Zieldateien sind. |
/Exclude: Datei1 [+Datei2] [+Datei3] | Gibt eine Liste von Zeichenfolgen an. Jede Zeichenfolge sollte in einer einzelnen Zeile in der Datei angezeigt werden. Wenn eine der Zeichenfolgen Teil des absoluten Verzeichnispfads der zu kopierenden Datei ist, wird diese Datei vom Kopiervorgang ausgeschlossen. Beispiel: Bei der Zeichenfolge \obj\ oder .obj werden alle Dateien unterhalb des Verzeichnisses OBJ bzw. alle Dateien mit der Erweiterung .obj vom Kopiervorgang ausgeschlossen. |
/P | Fordert vor dem Erstellen jeder Zieldatei eine Bestätigung |
/S | Kopiert Verzeichnisse und Unterverzeichnisse, die nicht leer sind |
/E | Kopiert alle Unterverzeichnisse (leer oder nicht leer). |
Wie /S /E. Mit dieser Option kann die Option /T geändert werden. | |
/V | Überprüft jede neue Datei auf Korrektheit |
/W | Fordert vor dem Beginn des Kopierens zu einem Tastendruck auf |
/C | Setzt das Kopieren fort, auch wenn Fehler auftreten |
/I | Falls Ziel nicht vorhanden ist und mehrere Dateien kopiert werden, nimmt XCOPY an, dass das Ziel ein Verzeichnis ist |
/Q | Zeigt beim Kopieren keine Dateinamen an |
/F | Zeigt die Namen der Quell- und Zieldateien beim Kopieren an |
/L | Listet die Dateien auf, die ggf. kopiert werden |
/G | Ermöglicht das Kopieren von verschlüsselten Dateien auf ein Ziel wo Verschlüsselung nicht unterstützt wird |
/H | Kopiert auch Dateien mit den Attributen 'Versteckt' und 'System' |
/R | Überschreibt schreibgeschützte Dateien |
/T | Erstellt die Verzeichnisstruktur, kopiert aber keine Dateien. Leere oder Unterverzeichnisse werden nicht kopiert. |
/T /E | Um auch diese zu kopieren, müssen Sie diese Optionen angeben |
/U | Kopiert nur Dateien, die im Zielverzeichnis vorhanden sind |
/K | Kopiert Attribute. Standardmäßig wird 'Schreibgeschützt' gelöscht |
/N | Beim Kopieren werden die erzeugten Kurznamen verwendet |
/O | Kopiert Informationen über den Besitzer und ACL |
/X | Kopiert Dateiüberwachungseinstellungen (bedingt /O) |
/Y | Unterdrückt die Aufforderung zur Bestätigung, dass eine vorhandene Zieldatei überschrieben werden soll. |
/-Y | Fordert zur Bestätigung auf, dass eine bestehende Zieldatei überschrieben werden soll. |
/Z | Kopiert Dateien in einem Modus, der einen Neustart ermöglicht |
Mit diesem Befehl werden alle Unterverzeichnisse (/E), unabhängig davon, ob sie leer sind oder nicht (/S), von [QUELLE] zu [ZIEL] kopiert.
Hierbei wird das Kopieren auch dann fortgesetzt, wenn Fehler auftauchen (/C) oder die Dateien eigentlich als "versteckt" oder "System" gekennzeichnet sind (/H).
Zusammen mit der Datei werden auch alle Schreib- und Benutzerrechte mit kopiert, die für die Datei im System hinterlegt sind (/O).
Sollte im Zielverzeichnis bereits eine alte Version des Backups vorhanden sein, kann man XCOPY veranlassen, dass auch dann überschreiben werden, wenn sie schreibgeschützt sind (/R). Zur Vermeidung von ständigen Fragen lässt sich angeben, dass alle fraglichen Dateien überschrieben werden sollen (/Y) und dabei nur die jeweils aktuelleren Dateien erhalten bleiben sollen (/D).
Als zusätzliche Absicherung kann XCOPY auch alle kopierten Dateien überprüfen (/V). Somit lässt sich zum Beispiel eher verhindern, dass ausgerechnet die alles entscheidende Kundendatei in einen fehlerhaften Sektor der Backup-Festplatte kopiert wurde.
IF NOT EXIST "\\SERVER\backup\%USERNAME%" mkdir \\SERVER\backup\
%USERNAME%
XCOPY "%HOMEDRIVE%\%HOMEPATH%\*.*" "\\SERVER\backup\
%USERNAME%" /S /E /C /H /R /Y /D
|
Durch Parameter lässt sich zum Beispiel ein XCOPY-Befehl bauen, der sich prima in der Logon-Datei eines Windows Rechners einbauen lässt. Im dargestellen Beispiel wird das Userverzeichnis des aktuell angemeldeten Benutzers auf den Server kopiert.
Um nun wieder den Dreh von Mama zur 8. Generation zu bekommen noch ein kleines Beispiel:
Mit dem Editor eine neue txt Datei anlegen und z.B. 10uhr.bat nennen.
In diese Datei den folgenden Text "xcopy c:\Verz.\*.* d:\10uhr\*.* /e/c/y/d" kopieren.
Dabei an die eigenen bedürfnisse anpassen!
xcopy | = | der Befehl |
c:\verz.\*.* | = | von wo wird was kopiert |
d:\10uhr\*.* | = | Dateien werden in das Verzeichnis "10uhr" kopiert |
/e | = | kopiert alle Unterverzeichnisse (leer oder nicht leer) |
/c | = | setzt das Kopieren fort, auch wenn Fehler auftreten |
/y | = | unterdrückt die Aufforderung zur Bestätigung, dass eine vorhandene Zieldatei überschrieben werden soll |
d | = | ist kein Datum angegeben, werden nur Dateien kopiert, die neuer als die bestehenden Zieldateien sind |
Diese Batch dann über den Scheduler mit dem gewünschten Zeitintervall eintragen. Dafür in der Eingabeaufforderung "taskschd.msc" eingeben und "Enter" drücken.
Es wird die Aufgabenplanung geöffnet. Dort unter Aktion "Einfache Aufgabe erstellen" auswählen.
Hier der ganzen Geschichte einen Namen geben und evt eine Beschreibung. Weiter.
Im Trigger auswählen wie oft gesichert werden soll.
Im nächsten Fenster wird dann gewählt, wann es los gehen soll und um wie viel Uhr. Dann bei Aktion "Programm starten" anklicken und die Bat Datei auswählen. Fertig