Batch Universelles Backup Script

CreatorX

Lt. Junior Grade
Registriert
Mai 2011
Beiträge
262
Hallo an alle,
ich habe folgendes Problem. Ich habe für meine Backups immer jeweils eine unterschiedliche Batchdatei erstellt.
Dabei handelt es sich immer um Backups verschiedener Quellen die via
Code:
ROBOCOPY %quelle% %ziel% /COPY:DAT /MIR /R:1 /W:10
auf unterschiedliche Ordner eines Netzlaufwerks kopiert werden.
Die Quellen sind dabei immer an verschiedenen Orten also auch unterschiedlichen Laufwerken, die bisher in der jeweiligen Batchdatei definiert wurden. Das heißt, mal ist eine Speicherkarte in Laufwerk E: eingebunden, mal eine externe Festplatte in X oder Y
Soweit so gut.
Jetzt wollte ich aber endlich mal alles mit einer universellen Skriptdatei lösen. Dazu habe ich in den jeweiligen Quellen "Definitions-Dateien" angelegt um zu bestimmen, um was für ein Backup es sich handelt. Mein Ziel ist es, am Ende eine Batchdatei zu haben, in der sich die Anzahl der Backups beliebig erweitern lässt, nur in dem ich anhand einer Definitionsdatei Quelle und Ziel in einer Zeile festlegen kann.
Das Problem ist jetzt aber, dass ich leider keine Ahnung habe, wie die Batchdatei anhand unterschiedlicher Laufwerke und "Definitions-Dateien" festlegen soll um welches Backup es sich handelt.

Ich wäre über jede Hilfe dankbar.
 
Hallo CreatorX,

Die Zeile
robocopy %source% %target% /E /XO /LOG:Log.txt /NP /R:0 /XJD
kopiert das Quellververzeichnis %source% in das Zielverzeichnis %target%.

Viel Spaß
 
Hallo ella,

hast du dir meinen Post mal durchgelesen? ;)
 
du erweitertest dein batchscript um eine schleife - die über ein array von quellen läuft.

das array hast du entweder direkt in der datei oder du liest es zeilenweise aus der quellen-configdatei ein.

fertig.
 
sparvar schrieb:
du erweitertest dein batchscript um eine schleife - die über ein array von quellen läuft.

das array hast du entweder direkt in der datei oder du liest es zeilenweise aus der quellen-configdatei ein.

fertig.
Der Vorschlag mit dem Array klingt brauchbar. Danke
Ich werde mich mal in die Materie einarbeiten.
Ein brauchbares Beispiel hat aber nicht zufällig jemand zur Hand? :D
 
habe mir selber es mal geschrieben- ist leider nicht hier auf dem pc :(

persönlich finde ich die datei variante aber die sinnvollere - da du dann nicht mehr das batchscript anpassen musst.

aber batchscript basteln macht ja schließlich Spaß ;)
 
Code:
FOR /f "tokens=1,2 delims=;" %%f IN ('more Definitionsdatei.txt') do ROBOCOPY "%%f" "%%g" /COPY:DAT /MIR /R:1 /W:10

und deine Definitionsdatei muss dann so aussehen:

Code:
C:\Windows\addins;C:\Temp
C:\Windows\Temp;C:\Temp

Achtung! Bei Sonderzeichen und Umlaute muss die Definitionsdatei richtig kodiert (OEM 852) sein.
 
@bauers
Vielen Dank für die Mühe. Ich hab leider zu spät gesehen, dass noch jemand was gepostet hat. Daher habe ich mir inzwischen heute mal die Zeit genommen und mir eine Lösung mittels Goto-Schleife zusammen gebastelt. Klappt ganz gut, das Script sucht automatisch sämtliche Laufwerke nach möglichen Quellen für ein Backup ab.
Aber ich werde bei Gelegenheit auch mal deinen Code probieren, einfach weil er viel kürzer ist.
 
Zurück
Oben