6391274860
Goto Top

Mit dem CMD-Befehl robocopy zwei Ordner synchron halten

Hallo zusammen,


kann man mit dem Befehl robocopy folgendes umsetzen:

Es gibt die Ordner A und B
Wenn ich eine Datei in den Ordner A ablege wird diese in den Ordner B kopiert, sodass die Datei in beiden Ordner vorhanden ist.
Sobald ich die Datei im Ordner B lösche, wird diese auch im Ordner A gelöscht. Die Datei wird nicht nochmals vom Ordner A in den Ordner B kopiert.

Wenn das mit Befehl robocopy machbar ist, wie laut die Syntax ?


Vielen dank im Voraus und schöne Grüße

Content-Key: 23344464899

Url: https://administrator.de/contentid/23344464899

Printed on: May 3, 2024 at 11:05 o'clock

Member: Xaero1982
Xaero1982 Jan 18, 2024 at 20:25:07 (UTC)
Goto Top
Moin,

nein, du hast bei Robocopy nur einen Quellordner und einen Zielordner. Es werden also nur Änderungen im Quellordner synchronisiert. Löscht du eine Datei im Zielordner wird sie wieder neu synchronisiert.

Testen kannst du das damit:

robocopy Quellordner Zielordner /MIR
robocopy C:\A C:\B /MIR

Grüße
Member: Crusher79
Crusher79 Jan 18, 2024 at 22:44:09 (UTC)
Goto Top
https://www.business.com/articles/powershell-sync-folders/

Unten ist auch Remove beschrieben. Es basiert auf Abgleich beider Ordner. Entfernte Dateien werden auch im anderen Ordner gelöscht.

Habs nicht getestet. Scheint auch separater Task dann zu werden. Wie soll entschieden werden was bei fehlen einer Datei zu tun ist? Wirklich löschen oder doch via sync "recovern".

Gut das kann man durch Aufteilung oder GUI mit Frage ggf. auflösen. Tools wie Total Commander lösen sowas auch nur bedingt automatisch auf. Meist wird man gefragt oder muss entscheiden in welche Richtung kopiert werden soll.

https://freefilesync.org/

Naja wenn man schon eh ggf. gefragt wird, könnte man auch gleich ein GUI Tool nehmen. Es gibt zig Möglichkeiten. Zum Backupen ist ein Sync nur bedingt geeignet. Kommt auf die Bedürfnisse an.

Aber du kannst beides schon via Script lösen. Ggf. aber die Szenarien von fehlenden Dateien oder unterschiedlichen Timestamps mal durchspielen. Ob dann der Sync wirklich ist, was du an mancher Stelle möchtest!
Member: Penny.Cilin
Penny.Cilin Jan 19, 2024 at 06:22:31 (UTC)
Goto Top
Moin,

sich Mal mit Robocopy zu beschäftigen und sich die Syntax anzuschauen geht nicht?

Gruss Penny.
Mitglied: 10138557388
10138557388 Jan 19, 2024 updated at 09:28:19 (UTC)
Goto Top
Member: ElmerAcmeee
ElmerAcmeee Jan 19, 2024 at 11:34:49 (UTC)
Goto Top
Hallo,
wie sieht denn der Use Case aus bzw woher stammt eine solche Anforderung?
Kann es auch vorkommen, dass der Inhalt einer Datei geändert wird? Wenn ja, kann das auch in beiden Ordnern gleichzeitig passieren?

Gruß
Mitglied: 6391274860
6391274860 Jan 22, 2024 at 09:14:18 (UTC)
Goto Top
Zitat von @Penny.Cilin:

Moin,

sich Mal mit Robocopy zu beschäftigen und sich die Syntax anzuschauen geht nicht?

Gruss Penny.


Moin,

ich habe mich mit Robocopy beschäftigt, habe die Syntax angeschaut. Ich komme halt nicht weiter.

Es stellt sich die Frage, warum ein solch sch... Kommentar von dir??? anstatt etwas sinnvolles oder dann halt nix ???
Mitglied: 6391274860
6391274860 Jan 22, 2024 at 09:23:14 (UTC)
Goto Top
Zitat von @Xaero1982:

Moin,

nein, du hast bei Robocopy nur einen Quellordner und einen Zielordner. Es werden also nur Änderungen im Quellordner synchronisiert. Löscht du eine Datei im Zielordner wird sie wieder neu synchronisiert.

Testen kannst du das damit:

robocopy Quellordner Zielordner /MIR
robocopy C:\A C:\B /MIR

Grüße

Folgende Code habe ich bereits:
robocopy C:\A C:\B /move

Der Parameter /move -Verschiebt Dateien und Verzeichnisse und löscht sie aus der Quelle, nachdem sie kopiert wurden.
Das Problem ist das der Ordner A auch mitgelöscht wird
Member: ElmerAcmeee
ElmerAcmeee Jan 22, 2024 at 10:33:39 (UTC)
Goto Top
Moin,
ohne zu wissen, warum genau du das benötigst, wird es schwierig, dir bei der Syntax zu helfen.
Schon angesprochen: wie soll die Konfliktbehandlung aussehen?
Wie oft sollen die beiden Ordner sich gegenseitig synchronisieren? Oder ist dies gar nicht gewollt?
"/move" wäre schon aufgrund des initialen Threads der falsche weg. "/mir" wäre da schon zielführender.

(Du versuchst damit aber nicht einen Fileserver aus zwei Richtungen nutzbar zu machen, oder?)

Gruß und viel Erfolg
Mitglied: 6391274860
6391274860 Jan 22, 2024 at 10:48:27 (UTC)
Goto Top
Moin,

Ich möchte Verzeichnisse und Dateien im Ordner A ablegen, diese sollen dann in den Ordner B kopiert/verschoben werden und danach im Ordner A gelöscht werden.
Auf den Ordner B greift eine Anwendung zu, die die Verzeichnisse und Dateien aus Ordner B abholt und dann löscht.

Das Problem ist, das nicht nur die Verzeichnisse und Dateien im Ordner A gelöscht werden, sondern der Ordner A auch.

Grüße
Member: Xaero1982
Xaero1982 Jan 22, 2024 at 16:02:58 (UTC)
Goto Top
Zitat von @6391274860:

Zitat von @Xaero1982:

Moin,

nein, du hast bei Robocopy nur einen Quellordner und einen Zielordner. Es werden also nur Änderungen im Quellordner synchronisiert. Löscht du eine Datei im Zielordner wird sie wieder neu synchronisiert.

Testen kannst du das damit:

robocopy Quellordner Zielordner /MIR
robocopy C:\A C:\B /MIR

Grüße

Folgende Code habe ich bereits:
robocopy C:\A C:\B /move

Der Parameter /move -Verschiebt Dateien und Verzeichnisse und löscht sie aus der Quelle, nachdem sie kopiert wurden.
Das Problem ist das der Ordner A auch mitgelöscht wird

?????? hä? Ich schreibe
MIR
und du redest von
MOVE
?
Kapier ich nicht
Mitglied: 6391274860
6391274860 Jan 22, 2024 at 17:04:11 (UTC)
Goto Top
Zitat von @Xaero1982:

Zitat von @6391274860:

Zitat von @Xaero1982:

Moin,

nein, du hast bei Robocopy nur einen Quellordner und einen Zielordner. Es werden also nur Änderungen im Quellordner synchronisiert. Löscht du eine Datei im Zielordner wird sie wieder neu synchronisiert.

Testen kannst du das damit:

robocopy Quellordner Zielordner /MIR
robocopy C:\A C:\B /MIR

Grüße

Folgende Code habe ich bereits:
robocopy C:\A C:\B /move

Der Parameter /move -Verschiebt Dateien und Verzeichnisse und löscht sie aus der Quelle, nachdem sie kopiert wurden.
Das Problem ist das der Ordner A auch mitgelöscht wird

?????? hä? Ich schreibe
MIR
und du redest von
MOVE
?
Kapier ich nicht


Ich bin auch auf den Kommentar von "Penny.Cilin" und "ElmerAcmeee" eingegangen.
Ich habe mich schon mit robocopy beschäftigt und habe den robocopy-Befehl auch öfters schon benutzt.

"MIR" habe ich auch schon ausprobiert und festgestellt, löscht du eine Datei im Zielordner wird sie wieder neu synchronisiert. Das sollte nicht nochmal vorkommen, da habe ich mich beim initialen Thread falsch ausgedrückt.

Entschuldigung, da habe ich mich beim initialen Thread falsch ausgedrückt

Dann bin ich auf den Parameter "MOVE" gestoßen mit folgender Beschreibung(robocopy/Microsoft Learn):
/move Verschiebt Dateien und Verzeichnisse und löscht sie aus der Quelle, nachdem sie kopiert wurden.
Dann habe ich diesen Parameter ausprobiert, leider löscht dieser Parameter auch die Quelle C:\A mit.
Die Quelle C:\A sollte erhalten bleiben, nur die Verzeichnisse und Dateien in der Quelle C:\A sollten gelöscht werden.

Alle 5 Minuten sollte die Verzeichnisse und Dateien vom Ordner A nach B verschoben werden und dann im Ordner A gelöscht werden.

Ich versuche den Fileserver nicht aus zwei Richtungen nutzbar zu machen
Member: Xaero1982
Xaero1982 Jan 22, 2024 at 17:47:28 (UTC)
Goto Top
Du hast mich zitiert und was völlig anderes geantwortet. Du solltest bissel klarer formulieren und reagieren. Sonst wird das nichts mit der Verständigung.

Benutze ein Synchtool wie schon mehrfach verlinkt hier. Andere Möglichkeit: Bau dir ne Batch und lass sie alle 5 Minuten ausführen

copy c:\a\* c:\b\*
warten warten warten
lösche Inhalt von c:\a

Grüße
Member: Penny.Cilin
Penny.Cilin Jan 22, 2024 at 18:50:48 (UTC)
Goto Top
Moment bitte, erstens hat Robocopy Zeit Parameter. Nämlich einmal
mov
und zum anderen
move.
.

Dann versuchen bitte Mal
Robocopy c\a\* c:\b\* /mov

Gegebenenfalls nutze
/move

Ein Parameter verschiebt Dateien, der andere Verzeichnisse.

Bin grade am tippen am Smartphone.

Gruss Penny.
Mitglied: 6391274860
6391274860 Jan 23, 2024 at 10:23:11 (UTC)
Goto Top
Zitat von @Penny.Cilin:

Moment bitte, erstens hat Robocopy Zeit Parameter. Nämlich einmal
mov
und zum anderen
move.
.

Dann versuchen bitte Mal
Robocopy c\a\* c:\b\* /mov

Gegebenenfalls nutze
/move

Ein Parameter verschiebt Dateien, der andere Verzeichnisse.

Bin grade am tippen am Smartphone.

Gruss Penny.


Den Stern* nach dem backslash\ mag er nicht, der Befehl wird dann nicht ausgeführt.

Dann wirds mit robocopy nicht gehen

Grüße