Batch Universelles Backup Script

CreatorX

Ensign
Dabei seit
Mai 2011
Beiträge
162
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.
 

ella_one

Lt. Junior Grade
Dabei seit
Aug. 2006
Beiträge
508
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ß
 

sparvar

Lt. Commander
Dabei seit
Sep. 2008
Beiträge
1.845
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.
 

CreatorX

Ensign
Ersteller dieses Themas
Dabei seit
Mai 2011
Beiträge
162
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
 

sparvar

Lt. Commander
Dabei seit
Sep. 2008
Beiträge
1.845
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ß ;)
 

bauers

Ensign
Dabei seit
März 2003
Beiträge
154
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.
 

CreatorX

Ensign
Ersteller dieses Themas
Dabei seit
Mai 2011
Beiträge
162
@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.
 
Top