Robocopy - zwei Spiegelungsvorgänge in einer Batchdatei

Tarnari

Experte
Thread Starter
Mitglied seit
16.12.2014
Beiträge
66
Hallo zusammen,

ich hoffe, es kann mir einer helfen. Angenommen, ich habe einen Robocopybefehl wie bspw
robocopy "D:\Daten" "\\SERVER\Daten" /MIR /V /NP /MON:5 /R:10 /W:30
und ich möchte ähnliche Befehle auch an anderen Stellen nutzen und sie in die Aufgabenplanung einbauen (was ich bisher tue).

Wie bekomme ich es hin, dass ich dies in einer einzelnen Batchdatei tun kann?

Also im Klartext:
robocopy "D:\Daten" "\\SERVER\Daten" /MIR /V /NP /MON:5 /R:10 /W:30
und meinetwegen zusätzlich
robocopy "D:\Daten2" "\\SERVER\Daten2" /MIR /V /NP /MON:5 /R:10 /W:30

Kann mir das einer sagen?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Genau so wie du im "Klartext" geschrieben hast ;)
Lass nur die mittlere Zeile weg (oder schrein "REM" davor)

Die Batch wird also ganz simpel mit zwei Zeilen gefüttern. Wichtig dabei zu wissen ist eigentlich nur, die beiden Befehle laufen nacheinander! Braucht der erste also sehr lange, dauert es entsprechend bis der Zweite startet.


Auf der anderen Seite -> wenn dir das zeitlich ein Dorn im Auge ist. Machst du zwei Batchfiles -> oder lass die Bach auch ganz weg, den Robocopy Befehl kannst du ach direkt im Task-Scheduler hinterlegen -> und entsprechend zwei Tasks. Die kannst du dann auch zeitgleich ausführen lassen oder eben in einen kurzen Versatz oder wie auch immer du es für richtig hälst.

EDIT: Alternativ dazu -> Powershell. Aber das dürfte für so nen simplen Taskcall zu weit führen!?
 
Zuletzt bearbeitet:
sollte es nicht auch mit "start" klappen?

start robocopy "D:\Daten" "\\SERVER\Daten" /MIR /V /NP /MON:5 /R:10 /W:30
start robocopy "D:\Daten2" "\\SERVER\Daten2" /MIR /V /NP /MON:5 /R:10 /W:30

dann sollten beide als externe Anwendung gestartet werden, ohne dass das zweite Command auf die Beendigung des ersten warten muss
 
Hmmmm.... merkwürdig, warum hat dann nach meinem Testlauf nur der erste Befehl den Kopiervorgang durchgeführt und der zweite nicht?
Also, mal ganz für dumme das .txt file, dass ich dann als .bat abspeichere sieht so aus?
robocopy "D:\Daten" "\\SERVER\Daten" /MIR /V /NP /MON:5 /R:10 /W:30
robocopy "D:\Daten2" "\\SERVER\Daten2" /MIR /V /NP /MON:5 /R:10 /W:30
Das hat nämlich nicht geklappt, da hat er nur den ersten ausgeführt...



Hmmmm.... merkwürdig, warum hat dann nach meinem Testlauf nur der erste Befehl den Kopiervorgang durchgeführt und der zweite nicht?
Also, mal ganz für dumme das .txt file, dass ich dann als .bat abspeichere sieht so aus?

Das hat nämlich nicht geklappt, da hat er nur den ersten ausgeführt...

Edit: bin ehrlich gesagt, sehr von der Powershell angetan. Wie würdest du es damit umsetzen?
 
Zuletzt bearbeitet:
/mt:8 als zusätzlicher Parameter hinter jedem Eintrag sollte den Kopiervorgang zumindest ein wenig beschleunigen. Die Platten können höchstwahrscheinlich NCQ und können so die Dateizugriffe optimieren.
 
Führ die Batch in einer Eingabeaufforderung aus, dann siehst du auch eventuelle Fehlemeldungen.
Die bekommst du nicht zu sehen, wenn du die Batch direkt aufrufst, da die Shell direkt nach Beendigung geschlossen wird
 
In dem speziellen Falle ist das nicht der Fall, da der Robocopy Befehl ja permanent weiterläuft.
Aber ich denke, das wird auch das Problem sein, warum der zweite Befehl nicht startet. Der erste endet ja quasi nie, es sei denn ich schließe das Terminal.
 
Erstelle eine 2. Aufgabe, wenn die Jobs parallel laufen sollen. Warum soll das überhaupt in einer Endlosschleife laufen.
 
Erstelle eine 2. Aufgabe, wenn die Jobs parallel laufen sollen. Warum soll das überhaupt in einer Endlosschleife laufen.

Das ist eine Komfortfrage. So wie das Skript läuft, ist es im Grunde ein Backup, dass im Hintergrund läuft. Ich habe bspw einen Foto-Ordner auf der Wirkstation und jedes Mal wenn ich daran was ändere, muss ich entweder händisch die einzelnen Änderungen in meinen Backup-Orten anpassen oder ich muss bei einem Kopiervorgang "vorhandene Dateien" überspringen. Sehr unkomfortabel. Dieses Skript prüft sämtliche Änderungen, neue Ordner, Dateien, entfernte Dateien, etc. und schaut halt in regelmäßigen Abständen ob es Änderungen gibt, um dann neu zu kopieren, bzw. zu spiegeln. Aber eben nur das was geändert wurde alles andere was unverändert ist, bleibt unangetastet. Das ganze läuft per Aufgabenplanung unsichtbar im Hintergrund sobald der Rechner gestartet wird.

Sehr komfortabel. So muss ich selber nie was kopieren und habe ständig aktuelle Backups, ohne dafür teure Software zu verwenden. Ist natürlich nur ein Teil der Backup-Strategie.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh