Ordner abgleichen, ohne dabei Dateien zu verlieren
Beim Abgleich zweier Ordner geht selten der Vergleich schief, meist ist es das Kopieren danach. Wie Mirrorline vorher zeigt, was passiert, und Gelöschtes in den Papierkorb legt.
12. Okt. 2026 · T. Krause · 4 Min. Lesezeit
Ein Projektordner auf dem MacBook, eine Kopie auf der externen SSD, und irgendwann weißt du nicht mehr, welche Seite die aktuelle ist. Also ziehst du den einen Ordner über den anderen, der Finder fragt, ob er ersetzen soll, und du klickst Ja. Die Datei, die du gestern nur auf der SSD geändert hattest, ist damit weg.
Der Vergleich selbst ist selten das Problem. Schief geht es beim Schritt danach, wenn Dateien kopiert, ersetzt oder gelöscht werden und niemand vorher gesehen hat, was genau passieren wird. Mirrorline, unsere App für Ordnervergleich und Synchronisation auf dem Mac, ist um diesen Schritt herum gebaut. Sie zeigt dir jede geplante Aktion, bevor sie läuft, und legt alles, was ersetzt oder gelöscht wird, in den Papierkorb.
Was "gleich" heißt, entscheidest du
Zwei Dateien mit demselben Namen sind nicht unbedingt dieselbe Datei. Wie streng Mirrorline hinschaut, stellst du über den Vergleichsmodus ein.
Der schnellste Modus vergleicht nur Namen. Er taugt für eine Bestandsaufnahme, wenn du wissen willst, was auf welcher Seite fehlt. Der Modus "Größe" findet zusätzlich Dateien, die gleich heißen, aber unterschiedlich groß sind.
Im Alltag meist sinnvoll ist "Größe und Datum". Hier kannst du eine Toleranz für das Änderungsdatum einstellen und Verschiebungen um genau eine Stunde ignorieren lassen. Solche Verschiebungen entstehen durch die Sommerzeit oder durch FAT-formatierte Laufwerke, etwa USB-Sticks. Ohne diese Option meldet dir der Vergleich nach der Zeitumstellung lauter Unterschiede, die keine sind.
Am gründlichsten ist der Vergleich Byte für Byte. Er liest jede Datei auf beiden Seiten komplett und läuft dafür parallel. Das dauert bei großen Ordnern länger. Dafür ist es der einzige Modus, der eine Datei mit gleicher Größe und gleichem Datum, aber anderem Inhalt sicher erkennt.
Auch beim Zuordnen der Namen hilft die App nach. Groß- und Kleinschreibung lässt sich ignorieren, ebenso Dateiendungen. Eine Namensvorlage mit regulärem Ausdruck schreibt Namen vor dem Paaren um, damit zum Beispiel report_v2 und report_v3 als Paar erscheinen. Unicode-Namen normalisiert Mirrorline zwischen NFC und NFD. Das klingt nach Kleinkram, bis ein Ordner namens "Übergabe" auf der einen Seite als fehlend gilt, weil das Ü einmal als ein Zeichen und einmal als U mit Umlautpunkten gespeichert ist.
Das Ergebnis zeigt die App als einen gemeinsamen Baum mit beiden Seiten nebeneinander. Rot markiert Unterschiede, Blau steht für Dateien nur links, Grün für Dateien nur rechts. Ordner, in denen sich irgendwo etwas unterscheidet, erscheinen orange und mit der Zahl der Unterschiede. Mit Ausschlussmustern wie .git, build/* oder *.log blendest du aus, was dich nicht interessiert.
Erst planen, dann ausführen
In Mirrorline passiert beim Vergleichen nichts mit deinen Dateien. Aktionen planst du ausdrücklich, entweder pro Eintrag oder für den ganzen Baum.
Pro Eintrag klickst du auf das Statussymbol oder öffnest das Kontextmenü und wählst, ob kopiert oder gelöscht werden soll, und auf welcher Seite. Für den ganzen Baum gibt es fertige Pläne. "Mirror" spiegelt eine Seite auf die andere, inklusive Löschen auf der Zielseite. "Update" kopiert nur neue und neuere Dateien und löscht nie etwas. "Two-Way" gleicht in beide Richtungen ab, und die neuere Datei gewinnt.
Jeder Plan erscheint zuerst als Vorschau im Baum. Pfeile zeigen die Richtung, Dateien, die neu entstehen würden, sind blass vorgezeichnet, und was gelöscht würde, ist durchgestrichen. Erst "Execute" startet den Plan, und auch dann zeigt die App vorher eine Zusammenfassung.
Wenn du unsicher bist, nimm "Update" statt "Mirror". Update löscht nichts. Was es ersetzt, ist eine ältere Version, und die liegt danach im Papierkorb. Bei "Two-Way" lohnt ein zweiter Blick in die Vorschau. Wurde dieselbe Datei auf beiden Seiten geändert, ersetzt die neuere die ältere, und die Änderung auf der älteren Seite steckt danach nur noch im Papierkorb.
Auch von der Kommandozeile bleibt es beim Planen:
open -a Mirrorline --args --left ~/Projekte --right /Volumes/SSD/Projekte --mode content --plan updateRight
Der Befehl öffnet den Vergleich und plant die Aktionen. Ausführen musst du sie trotzdem selbst mit Execute.
Papierkorb statt endgültig löschen
Ersetzte und gelöschte Dateien landen standardmäßig im Papierkorb. Kopien schreibt Mirrorline zuerst in eine temporäre Datei. Bricht ein Kopiervorgang ab, liegt also keine halbe Datei an der Stelle der alten. Nach dem Ausführen liest die App beide Seiten neu ein, und du siehst im Baum, wie der Stand jetzt wirklich ist.
Der Papierkorb ist kein Backup, aber er ist der Unterschied zwischen einem Fehler, den du in fünf Minuten behebst, und einem, der dich einen Nachmittag kostet. Leere ihn erst, wenn du dir den neuen Stand angesehen hast.
Snapshots mit SHA-256
Manchmal ist eine der beiden Seiten gar nicht da. Die Archivplatte liegt im Schrank, der Ordner auf dem alten Rechner existiert nicht mehr. Dafür gibt es Snapshots.
Ein Snapshot ist eine .dirsnap-Datei, die den Zustand eines Ordners festhält. Auf Wunsch speichert sie für jede Datei eine SHA-256-Prüfsumme. Später vergleichst du den Snapshot mit dem lebenden Ordner oder mit einem anderen Snapshot. Die Snapshot-Seite ist dabei schreibgeschützt, du kannst also nicht versehentlich in einen gespeicherten Zustand hinein synchronisieren.
Mit Prüfsummen erkennt ein Snapshot auch Änderungen am Inhalt, bei denen Größe und Datum gleich geblieben sind. Für ein Archiv ist das der interessante Fall. Leg vor dem Einlagern einer Platte einen Snapshot mit SHA-256 an, und beim nächsten Anschließen siehst du, ob sich seitdem eine Datei verändert hat.
Den Vergleich kannst du als CSV exportieren. Der Export berücksichtigt den aktuellen Filter, was ihn zu einem brauchbaren Protokoll macht, etwa nur für die Unterschiede.
Lade die Demo von Mirrorline von der Produktseite. Für den ersten Lauf nimmst du zwei Ordner, bei denen ein Fehler nicht wehtut, zum Beispiel einen Projektordner und eine frische Kopie davon, in der du ein paar Dateien änderst. Vergleich sie im Modus Byte für Byte, plane ein Update und schau dir die Vorschau an, bevor du Execute drückst.