So vergleichen Sie den Inhalt zweier Ordner und synchronisieren sie

Angenommen, Sie haben eine Sicherungsaufgabe XCopy, SyncToy oder ein anderes Tool erstellt, um das Kopieren eines bestimmten Verzeichnisses an einen anderen Speicherort zu spiegeln. Wenn Sie Microsoft SyncToy verwenden, fehlen manchmal die Dateien oder Ordner im Ziel, oder der Zielordner enthält zusätzliche Dateien oder Ordner, die sich nicht im Quellordner befinden.

In diesem Artikel erfahren Sie, wie Sie die Verzeichnisstruktur (zusammen mit Dateien) in zwei verschiedenen Verzeichnispfaden vergleichen, um sicherzustellen, dass Sie über ein genaues Replikat oder eine Spiegelkopie der Quelle verfügen. In einigen der folgenden Methoden wird auch erläutert, wie Elemente nach dem Vergleich in zwei Ordnern synchronisiert werden.

In diesem Artikel werden 12 Ordnervergleichsmethoden (für Windows) beschrieben. Wählen Sie diejenige, die am besten zu Ihnen passt. Wenn Sie die Dateiintegrität nach der Synchronisierung überprüfen müssen, verwenden Sie eines der folgenden aufgeführten Verfahren zur Überprüfung der Hash-Prüfsumme.

Vergleichen Sie den Inhalt von zwei Ordnern mit WinDiff von Microsoft

WinDiff ist ein grafisches Dateivergleichstool von Microsoft, das erstmals im Jahr 1992 veröffentlicht und anschließend aktualisiert wurde. Bitte hör auf! Lassen Sie sich vom Jahr der Erstveröffentlichung nicht überraschen.

WinDiff ist immer noch fantastisch und funktioniert unter Windows 10 einwandfrei, aber ohne Unicode-Unterstützung. Es hat enormes Potenzial. WinDiff kann ASCII- und Binärdateien vergleichen, zwei Verzeichnisse vergleichen und die Ordner synchronisieren (linker Ordner → rechter Ordner oder umgekehrt).

WinDiff-Download-Link (lokaler Spiegel). Die letzte aktualisierte WinDiff-Version ist 5.2.3790.0, wobei der Stempel für das Änderungsdatum 4-7-2016 anzeigt.

Sie können WinDiff auch als Teil des Windows XP Support Tools-Pakets herunterladen und dessen Inhalt mit 7-Zip extrahieren.

So führen Sie einen Verzeichnisvergleich mit WinDiff durch:

$config[ads_text6] not found
  1. Starten Sie Windiff.exe.
  2. Klicken Sie im Menü Datei auf Verzeichnisse vergleichen.
  3. Geben Sie im Dialogfeld Verzeichnisse auswählen die beiden Ordnernamen, die Sie vergleichen möchten, in die Felder Dir1 und Dir2 ein. Wenn Sie Dateien in diesen Ordnern rekursiv vergleichen möchten, aktivieren Sie das Kontrollkästchen Unterverzeichnisse einschließen.

Die Ergebnisse oder das Gliederungsfenster zeigen standardmäßig identische Dateien sowie die Unterschiede. Sie können identische Dateien ausblenden, indem Sie Identische Dateien anzeigen im Menü Optionen deaktivieren.

Wie Sie sehen können, vergleicht WinDiff nicht nur Dateinamen, sondern auch den Dateiinhalt an beiden Speicherorten und hebt Änderungen hervor, wenn der Dateiinhalt unterschiedlich ist.

Durch Doppelklicken auf das Element „anders“ wird die Vergleichsansicht mit Farbcodierung geöffnet. Die farbcodierten Ergebnisse zeigen die Dateidifferenzen an.

WinDiff kann ASCII- und Binärvergleiche durchführen. Dies bedeutet, dass WinDiff nicht auf das Änderungsdatum angewiesen ist, sondern den tatsächlichen Inhalt der Dateien vergleicht.

Zum Beispiel habe ich ein Zeichen in einer Textdatei im Zielordner (rechter Ordner) geändert. Ich habe ein Ausrufezeichen durch einen Doppelpunkt ersetzt, und die Dateigröße ist an beiden Stellen genau gleich (1.127 Byte). WinDiff nahm es auf und zeigte, dass die Dateien unterschiedlich sind.

Um die Verzeichnisvergleichsunterschiede in einer Datei zu speichern, klicken Sie im Menü Datei auf Dateiliste speichern . Geben Sie einen Dateinamen mit vollständigem Pfad ohne doppelte Anführungszeichen ein.

Deaktivieren Sie die Optionen Identische Dateien und Optionen für Prüfsummen einschließen und klicken Sie auf OK. Die Ausgabedatei sieht folgendermaßen aus:

 - D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019: E: \ RameshPC-synchronisierte Sicherung \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 - enthält nur links und nur rechts, unterschiedliche Dateien. \ accesschk.exe nur in E: \ RameshPC-synchronisiertes Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ compare-folders.txt nur in E: \ RameshPC-synchronisiertes Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ Fta-1803-w10.txt nur in E: \ RameshPC-synchronisiertes Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ SSH-Befehle-nützlich .txt nur in E: \ RameshPC-synchronisiertes Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 05 \ dell-supportassist.png nur in D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 05 \ disable-theme-sync-ramesh.png different (E: \ RameshPC-synchronisierte Sicherung \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 ist aktueller). \ 05 \ file-explorer- Nicht-Highlight-Dateien.png nur in D: \ Websites \ Winhelponline \ Blog \ wp-Inhalt \ Uploads \ 2019. \ 05 \ Firefox-Vergiss-diese-Site-4.png unterscheiden nt (E: \ RameshPC-synchronisierte Sicherung \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 ist aktueller). \ 05 \ msconfig-disable-services-non-microsoft.png nur in D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 05 \ windows-store-error-0x800706d9.png nur in D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ notepad-bing-search .png nur in E: \ RameshPC-synchronisiertes Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ rundll32-refresh-command.txt nur in E: \ RameshPC-synchronisiertes Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ archives \ 404chk.vbs nur in E: \ RameshPC-synchronisiertes Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ archives \ actxprxy-fehlt -issues.txt nur in E: \ RameshPC-synchronisiertes Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ archives \ apps.png nur in E: \ RameshPC-synchronisiertes Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019. \ 06 \ archives \ articles.vbs nur in E: \ RameshPC-synchronisiertes Backup \ Websites \ Winhelponline \ blog \ wp-content \ upl oads \ 2019. \ 06 \ archives \ bash-sh.vbs nur in E: \ RameshPC-synchronisierte Sicherung \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 - 17 Dateien aufgelistet 

Da die Ausgabedatei in tabulatorgetrennten Formaten vorliegt, sollten Sie problemlos in Microsoft Office Excel oder Google Sheets importieren können.

Beachten Sie, dass Sie WinDiff direkt mit Quell- und Zielpfaden als zusätzliche Schalter für den Verzeichnisvergleich starten können. Wenn Sie beispielsweise windiff.exe "c:\source" "d:\destination" starten, wird das Tool gestartet und diese beiden windiff.exe "c:\source" "d:\destination" sofort verglichen.

WinDiff-Befehlszeilenoptionen

Hier ist die vollständige Liste der WinDiff-Befehlszeilenoptionen.

 Verwendung: windiff [Optionen] Pfad1 [Pfad2] Optionen: -D Vergleichen Sie nur ein Verzeichnis. -F [flags] savefile Speichert die zusammengesetzte Datei in 'savefile'. Die 'Flags' können aus einem oder mehreren von I (identisch), L (links), R (rechts), F (verschobenes leFt), G (verschobenes Recht), S (ähnlich links), A (ähnlich rechts), bestehen. X (Beenden nach Speichern der Liste). (zB -FLF speichert die Liste der linken oder verschobenen Zeilen). -I Datei Liest die Liste der zu vergleichenden Dateien aus der angegebenen Eingabedatei. Jede Zeile kann einen oder zwei Dateinamen enthalten, die durch Leerzeichen getrennt sind (mit Anführungszeichen, wenn Dateinamen Leerzeichen enthalten). Verwenden Sie "-" als Dateinamen, um von stdin zu lesen. Wenn eine Zeile nur einen Dateinamen enthält, wird die Datei mit sich selbst verglichen. -N Name NET SEND Benachrichtigung an 'Name' am Ende des Vergleichs. -O Gliederungsansicht (keine automatische Erweiterung). -P Perverser Vergleich: Bricht Zeilen bei Interpunktion. -S [flags] savefile Speichert die Liste der Dateien in 'savefile'. Die 'Flags' können aus einem oder mehreren von S (gleich), L (links), R (rechts), D (verschieden), X (nach Speichern der Liste beenden) bestehen. (zB -SLD speichert die Liste der linken oder anderen Dateien). -T Vergleiche den gesamten Teilbaum. 

Speichern des Vergleichsberichts in einer Datei mit dem Schalter -S . Beispiele sind unten:

$config[ads_text6] not found

Speichern Sie die Liste der identischen Dateien in diff.txt:

 -SS D: \ output \ diff.txt c: \ folder1 d: \ folder2 

Speichern Sie die Liste der verschiedenen Dateien in diff.txt:

 -SD D: \ output \ diff.txt c: \ folder1 d: \ folder2 

Speichern Sie die Liste der Nur-Links-Dateien in diff.txt:

 -SL D: \ output \ diff.txt c: \ folder1 d: \ folder2 

Speichert die Liste der Nur-Rechts-Dateien in diff.txt:

 -SR D: \ output \ diff.txt c: \ folder1 d: \ folder2 

Speichert die Liste der Nur-Links- UND Nur-Rechts-Dateien in diff.txt:

 -SLR D: \ output \ diff.txt c: \ folder1 d: \ folder2 

Um WinDiff nach dem Speichern des Vergleichsberichts automatisch zu beenden, fügen Sie den X Schalter wie folgt hinzu:

Speichern Sie die Liste der Nur-Rechts-Dateien in diff.txt und beenden Sie WinDiff

 -SRX D: \ output \ diff.txt c: \ folder1 d: \ folder2 

Speichern Sie die Liste der Nur-Links- UND Nur-Rechts-Dateien in diff.txt und beenden Sie WinDiff

 -SLRX D: \ output \ diff.txt c: \ folder1 d: \ folder2 

Um alle 5 einzelnen "Protokoll" -Dateien zu generieren, müssten Sie WinDiff 5 Mal ausführen.

Beispiel:

 windiff -SSX identisch.txt c: \ Ordner1 d: \ Ordner2 windiff -SDX different.txt c: \ Ordner1 d: \ Ordner2 windiff -SLX nur links.txt c: \ Ordner1 d: \ Ordner2 windiff -SRX nur rechts .txt c: \ Ordner1 d: \ Ordner2 windiff -SLRX nur von links nach rechts.txt c: \ Ordner1 d: \ Ordner2 

Siehe auch Inhalt der WinDiff-Hilfedatei (windiff.hlp) im HTML-Format.

Ordner mit WinDiff synchronisieren

Was ist mehr? WinDiff kann die fehlenden oder anderen Dateien auch nach links (Ordner 1) oder rechts (Ordner 2) kopieren. Um dies zu tun,

  1. Wählen Sie im Menü Datei die Option Dateien kopieren
  2. Geben Sie den Ordnerpfad ein, in den Sie die fehlenden / unterschiedlichen Dateien kopieren möchten.

    Wichtig: Verwenden Sie keine doppelten Anführungszeichen um den Ordnerpfad, auch wenn der Ordnerpfad Leerzeichen enthält. WinDiff kann Dateien nicht kopieren, wenn Sie dem Pfad doppelte Anführungszeichen hinzufügen.

  3. Wählen Sie die Option Vom Speicherort kopieren (linker Baum zum rechten Baum oder umgekehrt).
  4. Deaktivieren Sie Identische Dateien und klicken Sie auf OK.

    WinDiff synchronisiert den Ordner jetzt, indem die fehlenden und geänderten Dateien rekursiv an den angegebenen Speicherort kopiert werden (links → rechts).

Trotz des hervorragenden ASCII- und Binärvergleichs sowie der grundlegenden Synchronisierungsfunktionen ist WinDiff unter IT-Mitarbeitern häufig ein unterschätztes Tool. Das liegt daran, dass es eine veraltete Benutzeroberfläche hat und keine Unicode-Unterstützung bietet. Aber WinDiff ist genug für die meisten von uns, besonders für diejenigen, die das englischsprachige Betriebssystem verwenden.

Microsoft hat einen Wissensdatenbank-Artikel über WinDiff mit dem Titel Verwendung des Dienstprogramms Windiff.exe, den Sie möglicherweise lesen möchten.

Vergleichen Sie den Inhalt zweier Ordner mit WinMerge

Hier erfahren Sie, wie Sie mit WinMerge zwei Ordner mit Unterordnern vergleichen.

WinMerge ist ein Open Source-Tool zum Differenzieren und Zusammenführen für Windows. Es kann sowohl Ordner als auch Dateien vergleichen und Unterschiede in einem visuellen Textformat aufweisen, das leicht zu verstehen und zu handhaben ist. Verwenden wir es, um den Inhalt von zwei Ordnern mit ihren Unterordnern zu vergleichen (dh rekursiv).

  1. Starten Sie WinMerge. Klicken Sie im Menü Datei auf Öffnen

  2. Durchsuchen Sie, um den 1. Ordner und den 2. Ordner zum Vergleichen auszuwählen.
  3. Stellen Sie sicher, dass der Filter auf *.* Eingestellt ist, damit alle Dateien verglichen werden. Die Option "Unterordner einschließen" (rekursiv verglichen) ist standardmäßig aktiviert. Wenn Sie Dateien nur im Verzeichnis der obersten Ebene vergleichen möchten, deaktivieren Sie die Option.
  4. Klicken Sie auf Vergleichen

    WinMerge generiert Ordnervergleichsergebnisse und hebt die Unterschiede in der gelben Farbe hervor.

    $config[ads_text6] not found

  5. Klicken Sie im Menü Extras auf Spalten anpassen… . Wählen Sie aus den zahlreichen anderen Spaltenoptionen die gewünschten Spalten aus, z. B. Left size, Right size, Left date, Right date .

  6. Erweitern Sie den Eintrag " Ordner sind unterschiedlich ", indem Sie darauf doppelklicken. Es zeigt die Liste der Dateien, die unterschiedlich sind, " nur links ", " nur rechts " und auch die Dateien, die identisch sind .

    Hinweis: Sie können die identischen Dateien und Ordner ausblenden, indem Sie in WinMerge im Menü Ansicht die Option „Identische Elemente anzeigen“ deaktivieren.

Der Vorteil von WinMerge besteht darin, dass fünf verschiedene Methoden zum Vergleichen von Dateien zur Auswahl stehen:
  1. Vollständiger Inhalt (Standard): Vollständiger Vergleich der Dateien nach Inhalten mit allen Schnickschnack. Diese Methode ruft Plugins auf und verwendet die Diffutils-Engine für eine vollständig genaue Differenzierung und Erkennung von verschobenen Blöcken. Dies ist die vollständigste und empfohlene Methode.
  2. Kurzinhalt: Verkleinerter Vergleich von Dateien nach Inhalten. Diese Methode verwendet einen optimierten Dateivergleichscode, der Plugins und die Erkennung verschobener Blöcke überspringt. Diese Methode ist schneller als der vollständige Inhalt, da die Dateien nicht geladen werden. Der Nachteil ist, dass beim Vergleichen keine Linienfilter angewendet werden. Bei dieser Methode wird die Datei beispielsweise als unterschiedlich angesehen, auch wenn Zeilenfilter so eingestellt sind, dass alle Unterschiede in den Dateien ignoriert werden.
  3. Änderungsdatum : Vergleicht nur die Änderungsdaten der Dateien, ist also weitaus schneller als jede der Inhaltsmethoden. Aber offensichtlich ist es nur so genau wie die Änderungsdaten.
  4. Änderungsdatum und -größe: Ähnlich wie das Änderungsdatum, überprüft jedoch auch die Dateigröße, wenn die Daten identisch sind.
  5. Größe: Vergleicht nur Dateigrößen, ist also schnell, aber nicht so genau wie die Inhaltsmethoden.

WinMerge unterstützt viele Befehlszeilenoptionen. Im WinMerge-Handbuch finden Sie die gesamte Liste der unterstützten Befehlszeilenoptionen.

Ordner mit WinMerge synchronisieren

Wenn Sie in WinMerge das Kontrollkästchen Identische Elemente anzeigen im Menü Ansicht deaktiviert haben, wird nur die Liste der geänderten Dateien nur für Links und nur für Rechts angezeigt. Es ist einfach, die Elemente von links → rechts oder umgekehrt zu synchronisieren.

Sie müssen lediglich die Dateien auswählen (oder alle auswählen), mit der rechten Maustaste auf die Auswahl klicken und auf Kopieren klicken. Wählen Sie im Untermenü Kopieren eine der folgenden Optionen:

  1. Von links nach rechts: Kopieren Sie ausgewählte Dateien aus dem linken Ordner nach rechts.
  2. Links zu ...: Kopieren Sie Dateien aus dem linken Ordner in einen anderen Ordner.
  3. Von rechts nach links: Kopieren Sie ausgewählte Dateien aus dem rechten Ordner nach links.
  4. Recht auf… : Kopieren Sie Dateien aus dem richtigen Ordner in einen anderen Ordner.


Methode 3: Vergleichen von Dateien in zwei Ordnern mit FreeFileSync

FreeFileSync ist eine Open Source-Software zum Vergleichen und Synchronisieren von Ordnerordnern, mit der Sicherungskopien aller wichtigen Dateien erstellt und verwaltet werden.

  1. Laden Sie FreeFileSync herunter und installieren Sie es.
  2. Um Ordner nach Dateiinhalt anstatt nach Dateigröße oder Änderungsdatum zu vergleichen, wählen Sie in den Vergleichsoptionen Dateiinhalt. Der Vergleich nach Dateigröße ist jedoch viel schneller und weniger ressourcenintensiv.
  3. Wählen Sie den linken und den rechten Ordner.
  4. Klicken Sie auf die Schaltfläche Vergleichen (Dateiinhalt) .

    Es vergleicht die Elemente in den beiden Ordnern rekursiv und zeigt die Liste der neuen und geänderten Dateien an.

    Die identischen Dateien werden in der Ausgabe ausgeblendet. Standardmäßig werden die Nur-Links-Dateien, verschiedene Dateien und Nur-Rechts-Dateien angezeigt. Die Optionen können mithilfe der Schaltflächen am unteren Rand des FreeFileSync-Fensters umgeschaltet werden.

Synchronisieren Sie Ordner mit FreeFileSync

FreeFileSync bietet die folgenden Synchronisierungsoptionen ähnlich wie Microsoft SyncToy.

  1. Zwei-Wege-Synchronisierung: Identifizieren und Anwenden von Änderungen auf beiden Seiten. Löschungen, Verschiebungen und Konflikte werden mithilfe einer Datenbank erkannt.
  2. Spiegeln: Spiegeln ist Links → Rechts Synchronisation. Der rechte Ordner wird zu einer Spiegelkopie des linken Ordners. Dies entspricht der Echo- Option von Microsoft SyncToy und der Robocopy / Mir-Befehlszeile. Zusätzliche Dateien und Ordner im richtigen Ordner werden entfernt und andere Dateien werden ersetzt.
  3. Update: Diese Synchronisierungsoption führt eine Synchronisierung des linken Ordners → des rechten Ordners ähnlich der Option Spiegeln durch . Diese Option löscht jedoch nicht die zusätzlichen Dateien und Ordner in der rechten Ordnerstruktur. Es ähnelt der Contribute- Option von Microsoft SyncToy.
  4. Benutzerdefiniert: Zusätzlich zu den oben genannten drei voreingestellten Optionen können Sie mit der Option Benutzerdefiniert Ihre Standardaktion für den Umgang mit einer Nur-Links-Datei, einer geänderten Datei oder der Nur-Rechts-Datei auswählen. Sie können es beispielsweise so konfigurieren, dass identische Dateien gelöscht werden, wenn Sie nur eindeutige Dateien (Duplikate entfernen) im linken und rechten Ordner haben möchten. In den meisten Fällen müssen Sie die Einstellung Benutzerdefiniert nur auswählen, wenn Sie spezielle Anforderungen haben.

Standardmäßig wird eine bidirektionale Synchronisierung durchgeführt. Persönlich bevorzuge ich die Spiegelsicherung für meine Website-Projekte und die Option Sicherung für Dokumente aktualisieren . Wählen Sie eine der Synchronisierungsoptionen entsprechend aus.

$config[ads_text6] not found

In den Vergleichsergebnissen sind standardmäßig alle Dateien ausgewählt. Sie können die Synchronisierung einer Datei ausschließen, indem Sie das Kontrollkästchen neben dem Dateinamen deaktivieren oder über das Kontextmenü klicken.

  • Um alle in der Liste angezeigten Elemente zu synchronisieren, klicken Sie oben auf die Schaltfläche Synchronisieren .
  • Um eine bestimmte Datei oder eine Reihe von Dateien zu synchronisieren, schließen Sie alle Elemente (vorübergehend) über das Kontextmenü aus, aktivieren Sie das Kontrollkästchen für ausgewählte Dateien, klicken Sie mit der rechten Maustaste auf die Auswahl, klicken Sie auf Auswahl synchronisieren und klicken Sie auf Start .

Das ist es! Ihre Ordner sind jetzt synchronisiert und die Kopier- / Aktualisierungs- / Löschvorgänge werden von FreeFileSync protokolliert.

Vergleichen und synchronisieren Sie einen lokalen Ordner Vs. FTP-Ordner rekursiv

FreeFileSync kann auch einen lokalen Ordner mit Google Drive oder einen lokalen Ordner mit einem Ordner vergleichen, den Ihr FTP-Server rekursiv über eine FTP- oder SFTP-Verbindung verwendet. Hier erfahren Sie, wie Sie einen lokalen Ordner und Unterordner mit einem Ordner auf Ihrem FTP-Server vergleichen und synchronisieren.

Alles, was Sie tun müssen, ist auf die Schaltfläche Zugriff auf Online-Speicher neben der Schaltfläche Durchsuchen im linken Bereich oder auf der rechten Seite zu klicken. Durch Klicken auf diese Schaltfläche wird der folgende Dialog geöffnet:

Geben Sie Ihre FTP- oder SFTP-Verbindungsinformationen, Anmeldeinformationen und den FTP-Verzeichnispfad ein, um ihn mit Ihrem lokalen Ordner zu vergleichen.

Sobald Sie fertig sind, befinden Sie sich wieder im Vergleichsfenster.

Wählen Sie die Dateigröße oder die Vergleichsmethode für Dateizeit und -größe . Die letztere Vergleichsmethode ist zuverlässiger.

Wählen Sie die Synchronisationsvariante. Zu diesem Zweck habe ich meine auf 2-Wege-Synchronisierung (anstelle von Spiegelung ) eingestellt.

Klicken Sie nach der Konfiguration auf Vergleichen. Die Liste der fehlenden und unterschiedlichen Dateien wird sowohl im linken als auch im rechten Ordner angezeigt.

Klicken Sie auf die Schaltfläche Synchronisieren, um Dateien in beide Richtungen zu kopieren, da die bidirektionale Synchronisierung ausgewählt wurde. Wenn Sie nur den FTP-Speicherort aktualisieren möchten, wählen Sie stattdessen Spiegelsynchronisierung .

Führen Sie FreeFileSync als Stapeljob aus Befehlszeilensynchronisation

Sie können die obige Konfiguration in einem Stapeljob speichern und über die Befehlszeile oder den Scheduler ausführen. Gehen Sie folgendermaßen vor, um die Konfiguration zu speichern und über die Befehlszeile auszuführen:

  1. Klicken Sie im Menü Datei auf die Option Als Stapeljob speichern .

  2. Sie können den Stapeljob so konfigurieren, dass er minimiert ausgeführt wird, und das Fenster automatisch schließen, wenn die Synchronisierung abgeschlossen ist.

  3. Speichern Sie die Stapeljobdatei in einem Ordner Ihrer Wahl, z. B. d: \ BatchRun.ffs_batch
  4. Verwenden Sie dann die folgende Befehlszeilensyntax, um die Ordner über die Befehlszeile zu synchronisieren:
     C: \ Programme \ FreeFileSync \ FreeFileSync.exe d: \ BatchRun.ffs_batch 

    Sie können eine Windows-Batchdatei erstellen oder den obigen Befehl nach Bedarf in regelmäßigen Abständen über den Taskplaner ausführen.

Tipp: FreeFileSync kann Ordner auch mit Google Drive synchronisieren.

$config[ads_text6] not found

Methode 4: Vergleichen von Dateien in zwei Ordnern mit TotalCommander

Total Commander ist ein Dateimanager für Windows, mit dem Sie Dateien kopieren, verschieben oder löschen können. Total Commander kann noch viel mehr. Es kann Dateien packen und entpacken, auf FTP-Server zugreifen, Dateien nach Inhalten vergleichen usw.

  1. Starten Sie Total Commander und wählen Sie den linken und den rechten Ordner zum Vergleichen aus.
  2. Klicken Sie im Menü Befehle auf Verzeichnisse synchronisieren.

    Im Dialogfeld "Verzeichnisse synchronisieren " können Sie zwei Verzeichnisse einschließlich Unterverzeichnisse miteinander vergleichen und dann die Dateien mit Unterschieden in das Zielverzeichnis oder ein anderes Verzeichnis kopieren.

    Wenn Sie die Option Asymmetrisch auswählen, wird der rechte Ordner zum Spiegel des linken Ordners - ähnlich wie bei der RoboCopy / MIR-Befehlszeile oder der Echo Option von Microsoft SyncToy. Das heißt, die Option kopiert fehlende oder andere Dateien in den richtigen Ordner, und alle zusätzlichen Dateien und Ordner auf der rechten Seite werden gelöscht.

    Sie können wählen, ob identische Dateien oder nur die verschiedenen Dateien in der Ausgabe angezeigt werden sollen.

    Die unten erläuterten Vergleichs- / Synchronisierungsoptionen von Total Commander.

    AsymmetrischWenn diese Option aktiviert ist, wird davon ausgegangen, dass auf der rechten Seite eine Kopie der linken Seite erstellt werden soll. Dateien, die auf der linken Seite nicht vorhanden sind, werden auf der rechten Seite zum Löschen markiert. Diese Option ist für Backups gedacht.
    SubdirsVergleicht auch die Unterverzeichnisse der beiden ausgewählten Verzeichnisse.
    nach InhaltVergleicht den Inhalt von Dateien mit derselben Größe und demselben Datum. Es wird überprüft, ob die Dateien auch denselben Inhalt haben.
  3. Wählen Sie die Vergleichsoptionen "Subdirs", "nach Inhalt".

    Wichtig: Wenn das Kontrollkästchen Datum ignorieren aktiviert ist, kann Total Commander die verschiedenen / geänderten Dateien nicht finden, obwohl die Dateigrößen unterschiedlich sind. Es scheint ein Fehler in Total Commander zu sein, und ich kann ihn jedes Mal reproduzieren.

  4. Deaktivieren Sie im Abschnitt Anzeigen die Option Gleiche Dateien (gekennzeichnet durch das Symbol = ) und aktivieren Sie die anderen drei Schaltflächen.
  5. Aktivieren Sie die Optionen für Singles und Duplikate .
  6. Klicken Sie auf die Schaltfläche Vergleichen

Total Commander - Ordner vergleicht Befehlszeilenargumente

Um "Synsize dirs" zu starten, können Sie die folgende Befehlszeilensyntax verwenden:

 TOTALCMD64.EXE / S = S d: \ Ordner_1 d: \ Ordner_2 

Konfigurieren Sie dann die Optionen und klicken Sie auf die Schaltfläche Vergleichen .

Verwenden Sie diese Syntax, um "Verzeichnisse synchronisieren" zu starten und Ordner sofort zu vergleichen:

 TOTALCMD64.EXE / S = S: = d: \ Ordner_1 d: \ Ordner_2 

(Der Vergleich beginnt mit den übergebenen Verzeichnissen und den zuletzt verwendeten Optionen.)

Optional können Sie auch einen Einstellungsnamen in der Form /S=S:SettingsName damit der Vergleich basierend auf der zuvor gespeicherten Einstellung sofort gestartet wird.

Synchronisieren Sie Ordner mit TotalCommander

  1. Wählen Sie im Vergleichsfenster die Dateien aus, die Sie kopieren möchten. Klicken Sie dazu auf das Kontrollkästchen zwischen den beiden Vergleichsspalten oder wählen Sie eine der Optionen im Kontextmenü.

    Standardmäßig wählt die Funktion alle neueren Dateien zum Kopieren aus. Doppelklicken Sie auf den Pfeil, um die Auswahl einer Datei aufzuheben, um zu verhindern, dass sie kopiert oder synchronisiert wird. Um die Auswahl mehrerer Dateien aufzuheben, wählen Sie die Dateien aus, klicken Sie mit der rechten Maustaste auf die Elemente und wählen Sie Auswahl entfernen

    Wichtig: Wenn die Option Asymmetrisch nicht aktiviert ist und eine Datei im rechten Ordner neuer als die im linken Ordner ist, wird die Synchronisierung für diese Datei von rechts → links ausgeführt. Um es andersherum zu ändern, klicken Sie auf die Pfeilmarkierung neben der Datei, die die Synchronisierungsrichtung umschaltet.

    $config[ads_text6] not found

    Alternativ können Sie mit der rechten Maustaste auf die Datei klicken und Kopierrichtung umkehren wählen, um die Synchronisierungsrichtung zu ändern.

  2. Klicken Sie auf Synchronisieren . Dies öffnet ein Dialogfeld zum Kopieren der ausgewählten Dateien.

    Standardmäßig werden beide Wege synchronisiert. Wenn Sie in eine Richtung synchronisieren möchten, z. B. linker Ordner → rechter Ordner, deaktivieren Sie das Kontrollkästchen Von rechts nach links und umgekehrt.

Tipp: Mit Total Commander können Sie sogar ein lokales Verzeichnis und ein Verzeichnis auf einem FTP-Server synchronisieren.


Methode 5: Vergleichen und Synchronisieren von Ordnern in Echtzeit mithilfe von DSynchronize

DSynchronize ist ein nützliches Tool, mit dem Sie zwei Ordner manuell oder automatisch in Echtzeit synchronisieren können. Dieses Tool bietet viele Optionen als alle anderen Tools zur Ordnersynchronisierung, mit denen Sie konfigurieren können, wie Dateien synchronisiert werden.

  1. Starten Sie DSynchronize und konfigurieren Sie die Quell- und Zielordner.
  2. Sie können einen benutzerdefinierten Jobnamen (für die spätere Automatisierung) zuweisen, indem Sie auf die Schaltfläche JOBS klicken. Uploads wir den Uploads als Uploads
  3. Stellen Sie für die Spiegelsynchronisierung sicher, dass die bidirektionale Synchronisierung deaktiviert ist.
  4. Um einen Vergleich (nur) durchzuführen, ohne die beiden Ordner zu synchronisieren, aktivieren Sie die Option Vorschau-Synchronisierung im Abschnitt Allgemein.

  5. Klicken Sie auf die Schaltfläche Synchronisieren, um die Liste der neuen, aktualisierten und fehlenden Dateien an beiden Speicherorten anzuzeigen.

Ordner synchronisieren

Deaktivieren Sie zum Synchronisieren von Ordnern die Option " Synchronisierung in der Vorschau" im Abschnitt " Allgemein " und klicken Sie auf " Synchronisieren" . Standardmäßig wird ein Spiegelmodus synchronisiert. Der Spiegelmodus wurde bereits in diesem Artikel erläutert. Der Spiegelmodus stellt sicher, dass der rechte Ordner genau mit dem linken Ordner übereinstimmt. Alle zusätzlichen Verzeichnisse und Dateien im Ziel werden automatisch entfernt.

Echtzeitsynchronisation

So synchronisieren Sie zwei Ordner in Echtzeit:

  1. Klicken Sie im Bereich Timer auf Echtzeitsynchronisierung .
  2. Konfigurieren Sie die Echtzeit-Synchronisierungseinstellungen wie gewünscht. Ich habe die Standardeinstellungen verwendet.

    Standardmäßig werden Ordner nach 10 Sekunden automatisch synchronisiert. Sie können es so konfigurieren, dass es weiter verschoben wird, oder es so planen, dass es in bestimmten Intervallen ausgeführt wird.

  3. Aktivieren Sie das Kontrollkästchen Monitor-Unterordner, um Ordner rekursiv zu synchronisieren.

Ich habe einige Dateien in den linken Ordner (Quelle) kopiert und innerhalb von 10 Sekunden wurden die Elemente automatisch mit dem rechten Ordner synchronisiert. Sie können das in diesem animierten GIF sehen:

Die Änderungen (Hinzufügen und Löschen von Dateien oder Ordnern) werden im Hauptfenster protokolliert.

Wenn die Echtzeitsynchronisierung aktiviert ist, wird sie auf Dateiänderungen überwacht und das Programm befindet sich im Benachrichtigungsbereich und wartet auf Änderungen. Es werden nicht viel CPU-Ressourcen oder Speicher benötigt. Zuletzt habe ich überprüft, es wurden nur etwa 10 MB Speicher verwendet.

Hier ist die Liste der wichtigsten Funktionen von DSynchronize:

  • Standard- und Timersynchronisation.
  • RealTime-Synchronisierung.
  • Bidirektionale Synchronisation.
  • Transaktionssynchronisation (vom Journal of NTFS).
  • Selektiver Filter (Sie können einzelne Dateien oder Ordner ausschließen).
  • Als Dienst starten (das Programm muss sich nicht anmelden).
  • Unterstützt symbolische und harte Links.
  • Unterstützt Kreuzungen und Montagepunkte.
  • Unterstützt ACL.
  • Protokoll per E-Mail gesendet.
  • Sicherung der vorherigen Version der ersetzten Dateien.
  • Byte zu Byte vergleichen.
  • Unterstützt mehrere Jobs mit jeweils Einstellungen und Synchronisierungspfaden.
  • Minimaler Ressourcenverbrauch (RAM und CPU).

Befehlszeilenunterstützung

Sie können die folgende Befehlszeile verwenden, um die DSynchronisierung zu automatisieren:

$config[ads_text6] not found

/START = Synchronisierung mit den zuletzt gespeicherten Optionen starten.

/STARTJOB "JobName" = Synchronisierung mit ausgewählten /STARTJOB "JobName" starten).

/MINIMIZE = Startet in der /MINIMIZE minimiert.

/HIDDEN = Symbol in der Taskleiste nicht anzeigen.

/NOSECURITYCHECK = /NOSECURITYCHECK vor der Synchronisierung keine Sicherheitsüberprüfung durch.

/NOMONITORCHECK = Überprüfen Sie die Monitorauflösung nicht.

/AUTOREALTIME = Startet minimiert, führt eine Standardsynchronisierung durch und aktiviert RealTime.

/SOMEFILE.INI = Startet die Verwendung der ausgewählten INI-Datei.

Der Jobname kann durch Klicken auf die Schaltfläche JOBS oben im Hauptfenster des Programms angepasst werden.

Um beispielsweise zwei Ordner automatisch zu synchronisieren (zuvor gespeicherter Job mit dem Namen "Uploads"), würde ich diesen Befehl ausführen:

 "D: \ dsynchronize \ DSynchronize.exe" / STARTJOB "Uploads" / MINIMIZE 

Führen Sie Folgendes aus, um die beiden Ordner zu synchronisieren (Job mit dem Namen "Uploads") und die Echtzeitsynchronisierung zu aktivieren:

 "D: \ dsynchronize \ DSynchronize.exe" / STARTJOB "Uploads" / AUTOREALTIME 

Der obige Befehl synchronisiert die beiden im Job genannten Ordner und aktiviert die Echtzeitüberwachung automatisch. Sie können das Echtzeitüberwachungssymbol im Bereich Benachrichtigung sehen.

Das ist es!


Methode 6: Vergleichen Sie zwei Ordner mit dem Dienstprogramm HashMyFiles unter Verwendung der Datei-Hash-Prüfsumme

HashMyFiles ist ein kleines Dienstprogramm, das Hash-Prüfsummen für Ihre Dateien berechnet. Es kann den Hash für Dateien in einem Ordner und seinen Unterordnern rekursiv berechnen. Mit HashMyFiles können Sie die Ergebnisse in einer Datei speichern. Es kann auch die Hash-Prüfsumme über das Kontextmenü berechnen.

Wenn PowerShell nicht Ihre Sache ist, verwenden Sie das Dienstprogramm HashMyFiles von Nirsoft.net, um Datei-Hashes zu vergleichen.

Sie können die Dateinamen und die entsprechende Hash-Ausgabe für den Quellordnerbaum in source.txt speichern . Speichern Sie in ähnlicher Weise die Einträge für den Zielordnerbaum als destination.txt .

In diesem Beispiel werden Dateien in den folgenden Ordnern verglichen:

 D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 E: \ RameshPC-synchronisierte Sicherung \ Websites \ Winhelponline \ blog \ wp-content \ uploads \ 2019 

Führen Sie die folgenden Schritte aus, um Datei-Hashes mit HashMyFiles zu generieren und zu vergleichen:

  1. Laden Sie HashMyFiles herunter und führen Sie es aus.
  2. Klicken Sie im Menü Optionen auf Hash-Typen und wählen Sie SHA-256 aus

  3. Klicken Sie im Menü Ansicht auf Spalten auswählen

  4. Aktivieren Sie in den Spalteneinstellungen die Optionen SHA-256, Vollständiger Pfad und Dateigröße . OK klicken.
  5. Klicken Sie auf das Menü Datei und wählen Sie Ordner hinzufügen
  6. Wählen Sie den Quellordner zum Vergleich aus.

  7. Klicken Sie, um Dateien in Unterordnern hinzufügen auszuwählen, und klicken Sie auf OK.
  8. Sortieren Sie die Ergebnisse nach der Spalte " Vollständiger Pfad " und wählen Sie alle Einträge aus.
  9. Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern
  10. Speichern Sie die Liste in einer Datei mit dem Namen source.txt
  11. Löschen Sie die Ergebnisse, indem Sie im Menü Datei die Option Alle löschen auswählen.
  12. Wiederholen Sie die obigen Schritte, und wählen Sie diesmal den Zielordner aus. Speichern Sie die Liste in der Datei destination.txt
  13. Bearbeiten Sie nun die Dateien source.txt und destination.txt mit Notepad und entfernen Sie die Basispfade . Suchen Sie mit der Option Suchen im Editor jedes Vorkommen des folgenden Basispfads und ersetzen Sie es durch eine leere Zeichenfolge.
     D: \ Websites \ Winhelponline \ blog \ wp-content \ 
  14. Entfernen Sie in ähnlicher Weise in der Datei destination.txt diesen Basispfad:
     E: \ RameshPC-synchronisiertes Backup \ Websites \ Winhelponline \ blog \ wp-content \ 

    Möglicherweise möchten Sie auch die als Trennzeichen verwendeten = -Symbole suchen und entfernen.

    $config[ads_text6] not found

    So sehen die Dateien jetzt aus:

  15. Starten Sie jetzt WinDiff oder Ihr bevorzugtes Dateivergleichstool, um die Unterschiede zu erkennen.

Sie sehen die Liste der verschiedenen Dateien, zusätzlichen Dateien und fehlenden Dateien.


Methode 7: Vergleichen von Dateien in zwei Ordnern mithilfe von Robocopy

Lassen Sie uns nun sehen, wie Sie mit dem integrierten Robocopy- Konsolendienstprogramm den Inhalt zweier Ordner vergleichen.

Robocopy („Robust File Copy für Windows“) ist ein hervorragendes Tool zum Kopieren von Dateien, das in Windows integriert ist und über enorme Funktionen verfügt. Die Funktionen von Robocopy gehen über die integrierten Windows-Kopier- und XCopy-Befehle hinaus. RoboCopy ist die am meisten bevorzugte Befehlszeilenmethode, da Robocopy nicht nur die Dateinamen, sondern auch die zuletzt geänderte Zeit vergleicht. Es meldet die Liste der geänderten Dateien und neuen Dateien / Ordner in den Quell- und Zielpfaden.

Zu den hervorragenden Funktionen gehören das Kopieren im Spiegelmodus (ähnlich der Option „ Echo “ von Microsoft SyncToy), die Möglichkeit, das Kopieren bei Netzwerkunterbrechungen, das Kopieren mit mehreren Threads usw. erneut zu versuchen. Neben dem Kopieren von Dateien können wir Robocopy nur zum Vergleichen verwenden den Inhalt von zwei Ordnern (rekursiv) und protokollieren Sie die Unterschiede, ohne etwas zu kopieren, wie ein Probelauf .

Szenario

Die Dateien meiner Website werden regelmäßig mit einer externen Festplatte ( E:\ ) synchronisiert. Überprüfen Sie zur Veranschaulichung, ob diese beiden Ordner identisch sind. In diesem Beispiel werden die folgenden Ordner rekursiv verglichen (dh zusammen mit den Unterordnern ein umfassender Vergleich):

 D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads und E: \ RameshPC-Synced Backup \ Websites \ Winhelponline \ blog \ wp-content \ uploads 
  1. Öffnen Sie ein Eingabeaufforderungsfenster.
  2. Führen Sie den folgenden Befehl aus und drücken Sie die EINGABETASTE:
     Robokopie "D: \ Websites \ Winhelponline \ Blog \ wp-Inhalt \ Uploads" "E: \ RameshPC-synchronisierte Sicherung \ Websites \ Winhelponline \ Blog \ wp-Inhalt \ Uploads" / L / TS / MIR / LOG: D: \ Diff.txt 

    Die Ergebnisse des obigen Befehls werden in der Datei D:\Diff.txt protokolliert.

  3. Verlassen Sie das Eingabeaufforderungsfenster.

Details zu den verwendeten Robocopy-Befehlszeilenschaltern

  • /L :: Nur Liste - Kopieren, zeitstempeln oder löschen Sie keine Dateien. Diese Option wird nur zu Protokollierungszwecken verwendet. für einen Trockenlauf.
  • /MIR :: MIRror ein Verzeichnisbaum (entspricht / E plus / PURGE). Da wir es mit dem Schalter /L, wird keine Datei / kein Ordner tatsächlich kopiert.
  • /TS :: Zeitstempel der Quelldatei in die Ausgabe aufnehmen.
  • /LOG:file :: Ausgabestatus in LOG-Datei (vorhandenes Protokoll überschreiben).

In diesem Beispiel schreiben wir die Ausgabe in D:\Diff.txt . So sieht das Protokoll aus:

  ------------------------------------------------------------------------------- ROBOCOPY :: Robust File Copy for Windows ------------------------------------------------------------------------------- Started : Monday, April 8, 2019 5:06:10 PM Source : D:\Websites\Winhelponline\blog\wp-content\uploads\ Dest : E:\RameshPC-Synced Backup\Websites\Winhelponline\blog\wp-content\uploads\ Files : *.* Options : *.* /TS /L /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /R:1000000 /W:30 ------------------------------------------------------------------------------ 583 D:\Websites\Winhelponline\blog\wp-content\uploads\ *EXTRA Dir -1 E:\RameshPC-Synced Backup\Websites\Winhelponline\blog\wp-content\uploads\2019\videos\ *EXTRA File 821886 2019/04/07 07:19:24 tiktok-superman-dance.mp4 3 D:\Websites\Winhelponline\blog\wp-content\uploads\2019\Scripts\ Older 210 2019/04/08 10:54:59 0x80071A91.vbs Newer 211 2019/04/08 11:35:32 ErrCodeFinder.vbs New File 211 2019/04/08 11:35:32 Sample.vbs 211 D:\Websites\Winhelponline\blog\wp-content\uploads\h1-10\ 83 D:\Websites\Winhelponline\blog\wp-content\uploads\h1-11\ 1 D:\Websites\Winhelponline\blog\wp-content\uploads\reg\ 9 D:\Websites\Winhelponline\blog\wp-content\uploads\temp\ ------------------------------------------------------------------------------ Total Copied Skipped Mismatch FAILED Extras Dirs : 113 0 113 0 0 1 Files : 4125 3 4122 0 0 1 Bytes : 59.96 m 632 59.95 m 0 0 802.6 k Times : 0:00:00 0:00:00 0:00:00 0:00:00 Ended : Monday, April 8, 2019 5:06:10 PM 

Sie können die zusätzlichen Verzeichnisse und Dateien in den Quell- und Zielordnern deutlich sehen. Außerdem wird der Zeitstempel verglichen und es wird angezeigt, ob Dateien älter oder neuer sind (im Vergleich zu derselben Datei in Ihrem Ziel).

$config[ads_text6] not found

In diesem Beispiel sind hier die Unterschiede zu sehen:

  1. * EXTRA Dir : Zusätzliches Verzeichnis existiert im Ziel, aber nicht in der Quelle.
  2. * EXTRA-Datei : Zusätzliche Datei ist im Ziel vorhanden, jedoch nicht in der Quelle.
  3. Älter : Diese Datei ist älter als die im Ziel.
  4. Neu : Diese Datei ist neuer als die im Ziel.
  5. Neue Datei : Diese Datei ist im Ziel nicht vorhanden . Es wird auch als Lonely Datei bezeichnet

Vollständige Liste der RoboCopy-Dateiklassifikationen:

 ----------- ----------- ---------------- ------------ --- ------------- ------------ Classifi_ Exists In Exists In Quelle / Ziel Quelle / Ziel Quelle / Ziel Quelle Zieldatei Zeiten Dateigrößen Attribute ----------- ----------- ---------------- ------------ --- ------------- ------------ Neuere Ja Ja Src> Ziel n / an / a Älter Ja Ja Src <Ziel n / an / a Neu Ja Nein n / an / an / a Extra Nein Ja n / an / an / a Geändert Ja Ja Gleich Unterschiedlich n / a Gleich Ja Ja Gleich Gleich Gleich Optimiert Ja Ja Gleich Gleich Unterschied Nicht übereinstimmend Ja (Datei) Ja (Verzeichnis) n / an / an / a ----------- ----------- ---------------- ------ --------- ------------- ------------ 

Hinweis: Eine Tweaked Datei wird als eine Datei definiert, die sowohl in der Quelle als auch im Ziel vorhanden ist, mit identischer Größe und Zeitstempel, aber unterschiedlichen Attributeinstellungen.

Robocopy ist ein erstaunliches Tool zum Vergleichen und Synchronisieren von Dateien in zwei Ordnern (zusammen mit Unterordnern, die mehrere Ebenen tief sind) und zum Auflisten der Unterschiede in einer Protokolldatei.

Synchronisieren Sie Ordner mit Robocopy

Verwenden Sie zum Synchronisieren von Ordnern ( nur vom linken → rechten Ordner) mit RoboCopy dieselbe Befehlszeilensyntax, die wir zuvor zum Vergleichen von Ordnern verwendet haben, diesmal jedoch ohne den Schalter /L (nur Liste).

RoboCopy führt eine Einweg-Synchronisierung durch (von links → rechts Ordner)

Der Spiegelkopiermodus ( /MIR ) von RoboCopy ähnelt der Echo- Funktion von Microsoft SyncToy. Denken Sie daran, dass RoboCopy nur die Synchronisation von links nach rechts durchführt - KEINE bidirektionale Synchronisation.

Es ist wichtig zu beachten, dass der Schalter /MIR auch alle zusätzlichen Dateien und Verzeichnisse in der Zielordnerstruktur entfernt. Die "zusätzlichen" Dateien / Ordner sind Elemente, die im Ziel vorhanden sind, jedoch nicht im Quellpfad. Der Befehl /MIR (Spiegelung) stellt sicher, dass die Zielordnerstruktur (und die Dateien) eine exakte Kopie der Quelle sind.

Verwenden Sie die folgende Befehlszeilensyntax, um Elemente aus dem linken → rechten Ordner zu synchronisieren:

 robocopy source_folder destination_folder / MIR / MT 

Der Schalter /MT dient zum Kopieren mit mehreren Threads für einen superschnellen Kopiervorgang. Es ist ein optionaler Schalter, aber äußerst nützlich.

Der Synchronisierungsstatus wird für jedes verarbeitete Element in der Konsole ausgegeben, und die Statistiken werden am Ende der Ausgabe angezeigt.

Verwenden Sie die folgende Syntax, um die Ausgabe in einer Datei zu protokollieren:

 robocopy source_folder destination_folder / MIR / MT / TS /LOG:D:\Diff.txt 

Automatisieren Sie die Befehle mithilfe einer Batch-Datei

Sie können alle Robocopy-Befehle zum Editor hinzufügen und als Windows-Batch-Datei (mit der Erweiterung .bat ) speichern. Doppelklicken Sie einfach auf die Batch-Datei, wenn Sie die genannten Ordner synchronisieren möchten. Sie können die Batchdatei sogar in den erforderlichen Intervallen mit dem Taskplaner ausführen.


Methode 8: Vergleichen Sie zwei Ordner mithilfe der Datei-Hash-Prüfsumme mit dem Dienstprogramm FCIV

Mit dem kryptografischen Hashing-Algorithmus (z. B. MD5, SHA-1) können Sie überprüfen, ob zwei Dateien identisch sind oder nicht. Die Prüfsumme ist ein Hashwert, der zum Durchführen von Datenintegritätsprüfungen für Dateien verwendet wird. Es ist eine Art Signatur für eine Datei.

$config[ads_text6] not found

Das Microsoft File Checksum Integrity Verifier- Tool (FCIV) ist ein Befehlszeilenprogramm, das kryptografische MD5- oder SHA1-Hashes für Dateien berechnet. Sie können die Liste der Dateien zusammen mit ihren MD5- oder SHA1-Hashes in einer XML-Datenbank ausgeben und dann die Dateien im Zielordner mit den in der XML-Datenbankdatei gespeicherten Hashes vergleichen.

Diese Methode ist besonders hilfreich, nachdem Sie eine der oben genannten Methoden verwendet haben, z. B. Robocopy oder WinDiff, um zwei Ordner zu synchronisieren, und die Integrität jeder Zieldatei überprüfen möchten, indem Sie den Datei-Hash / die Prüfsummen mit dem des Quellspeicherorts vergleichen.

Szenario:

Vergleichen wir den Inhalt der folgenden Ordner rekursiv mit FCIV:

 D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads E: \ RameshPC-synchronisierte Sicherung \ Websites \ Winhelponline \ blog \ wp-content \ uploads 

Laden Sie Microsoft File Checksum Integrity Verifier aus dem offiziellen Microsoft Download Center herunter und extrahieren Sie fciv.exe in einen Ordner - z. B. d:\tools . Folgen Sie dann einer dieser Methoden:

Option 1

  1. Öffnen Sie ein Eingabeaufforderungsfenster und verwenden Sie die folgende Befehlszeilensyntax:
     d: \ tools \ fciv.exe -r -add "D: \ Websites \ Winhelponline \ blog \ wp-content \ uploads" -bp "D: \ Websites \ Winhelponline \ blog \ wp-content" -sha1 -xml d: \ hashdb.xml 

    Die obige Befehlszeile berechnet den SHA1-Hash für jede Datei rekursiv und gibt die Dateinamen und die entsprechenden Hashes an eine XML-Datei mit dem Namen hashdb.xml .

    Der Parameter -bp wird verwendet, um den -bp anzugeben, der aus dem vollständigen Pfadnamen entfernt werden soll. Dadurch wird sichergestellt, dass der Basispfad nicht in der XML-Ausgabe enthalten ist, sodass Sie die Elemente im Zielordnerpfad mit genau derselben Ordnerstruktur vergleichen können.

    So würde der Inhalt der XML-Datei aussehen:

  2. Wechseln Sie nun im Eingabeaufforderungsfenster zum Zielordner, indem Sie den folgenden Befehl ausführen:
     cd / d "E: \ RameshPC-synchronisiertes Backup \ Websites \ Winhelponline \ blog \ wp-content" 
  3. Führen Sie dann den folgenden Befehl aus und drücken Sie die EINGABETASTE:
     d: \ tools \ fciv.exe -v -sha1 -xml D: \ hashdb.xml 

    Der obige Befehl überprüft Ihre hashdb.xml der Hash-Prüfsummen, die Sie zuvor in der XML-Datei hashdb.xml .

    In der Ausgabe werden die Liste der geänderten Dateien (basierend auf der Hash-Prüfsumme) und die Liste der fehlenden Dateien (im Ziel) angezeigt:

    Hier ist eine Beispielausgabe.

     Überprüfung der Prüfsummen starten: Datum / Zeitstempel Liste der geänderten Dateien: ----------------------- Uploads \ 2019 \ 05 \ w10-advanced-search-settings.png Hash ist: 8dac0a4400d2b700f81bf70c189e49eb6a620a2f Es sollte sein: cc2a1523ef070dc2e498dbf5f8cf5edac1b6900d Uploads von Hash-Dateien nicht möglich \ 2019 \ 05 \ windiff-header.png Fehlermeldung: Das System kann die angegebene Datei nicht finden. Fehlercode: 2 Hash-Datei-Uploads nicht möglich \ 2019 \ 05 \ windows-store-error-0x800706d9.png Fehlermeldung: Das System kann die angegebene Datei nicht finden. Fehlercode: 2 Uploads \ 2019 \ 05 \ w10-advanced-search-settings.png Der Hash lautet: 8dac0a4400d2b700f81bf70c189e49eb6a620a2f Es sollte sein: cc2a1523ef070dc2e498dbf5f8cf5edac1b6900d die angegebene Datei. Fehlercode: 2 Hash-Datei-Uploads nicht möglich \ 2019 \ 05 \ windows-store-error-0x800706d9.png Fehlermeldung: Das System kann die angegebene Datei nicht finden. Fehlercode: 2 Überprüfung beenden: Zeitstempel 

Die obige Methode ist sehr hilfreich, um die Integrität übereinstimmender Dateien im Zielordner zu überprüfen. Die Liste der zusätzlichen Dateien im Ziel wird jedoch nicht angezeigt. Hier hat Option 2 unten einen zusätzlichen Vorteil.

$config[ads_text6] not found

Option 2

Rather than outputting the files list and checksums to an XML database, you can output the items in the source and destination to separate text files. Then the text files can be compared using WinDiff, WinMerge, DiffChecker.com or WinCompare utility.

Run these commands from a Command Prompt window.

 fciv -r "D:\Websites\Winhelponline\blog\wp-content\uploads" -bp "D:\Websites\Winhelponline\blog\wp-content" >d:\source.txt fciv -r "e:\RameshPC-Synced Backup\Websites\Winhelponline\blog\wp-content\uploads" -bp "e:\RameshPC-Synced Backup\Websites\Winhelponline\blog\wp-content" >d:\destination.txt 

Then, compare the two files source.txt and destination.txt using a file compare tool like WinDiff, WinMerge, DiffChecker.com, DiffMerge or WinCompare.

You'll see the list of missing files, extra files and modified files (based on the computed checksum) in the two folder locations.

I synchronized the two folders using RoboCopy and then compared the folders again using FCIV hash checksum. They're now identical!


Method 9: Compare Two Folders Using PowerShell

Using PowerShell you can recursively compare two folders easily.

Start PowerShell. Copy the following snippet and paste them all in the PowerShell window, and press ENTER

Enter the source folder and destination folders, replacing the source_folder_path and dest_folder_path placeholders respectively.

 $Folder1 = "source_folder_path" $Folder2 = "dest_folder_path" function Get-Directories ($path) { $PathLength = $path.length Get-ChildItem $path -Recurse | % { Add-Member -InputObject $_ -MemberType NoteProperty -Name RelativePath -Value $_.FullName.substring($PathLength+1) $_ } } Compare-Object (Get-Directories $Folder1) (Get-Directories $Folder2) -Property RelativePath | Sort RelativePath, Name -desc 

You'll see an output like this:

The side indicator <= means the file or folder exists only in the source. ie, missing in the destination.

The side indicator => means the file or folder exists only in the destination. ie, missing in the source.

Editor's note: The above code compares only the file names without matching any other details like size, date modified, etc. PowerShell has the capability to do a hash-comparison of items in two folders and output the results, which is described in the next method.

Sync folders

With some 10 additional lines of PowerShell code, you can even copy the different or missing files from source → destination, or vice versa. For more information, see Sync Files And Folders With PowerShell.


Method 10: Compare Two Folders Using PowerShell with File Hash Checksum

To compare files in two locations using file hash checksum, you can use PowerShell. PowerShell by default uses the SHA-256 algorithm, which you can change using the -Algorithm parameter. As said earlier, hash checksum is a kind of signature for a file which is unique.

In this example, we're going to compare the following folders:

 D:\Websites\Winhelponline\blog\wp-content\uploads\2019 E:\RameshPC-Synced Backup\Websites\Winhelponline\blog\wp-content\uploads\2019 

Use the following command-line to compute the hash for files in the source folder and output the results to source.txt file.

 Get-ChildItem 'D:\Websites\Winhelponline\blog\wp-content\uploads\2019' -Recurse | Get-FileHash | Select Path, Hash | export-csv d:\source.txt -Delimiter "`t" -NoTypeInformation 

Then, run the following command to remove the base paths from the file.

$config[ads_text6] not found
 (gc -path d:\source.txt -raw) -replace 'D:\\Websites\\Winhelponline\\blog\\wp-content\\', '' | Out-File d:\source.txt 

The list of file names (with relative path) along with the SHA-256 hashes are outputted to the source.txt file.

Similarly, run the commands for computing hashes for items in the destination, and then remove the base paths from destinations.txt :

 Get-ChildItem 'E:\RameshPC-Synced Backup\Websites\Winhelponline\blog\wp-content\uploads\2019' -Recurse | Get-FileHash | Select Path, Hash | export-csv d:\destination.txt -Delimiter "`t" -NoTypeInformation 
 (gc -path d:\destination.txt -raw) -replace 'E:\\RameshPC-Synced Backup\\Websites\\Winhelponline\\blog\\wp-content\\', '' | Out-File d:\destination.txt 

The above command computes the hash for each file in the destination folder recursively, and the output is written to d:\destination.txt

Compare using PowerShell

Next, compare the files using the following PowerShell command:

 Compare-Object -ReferenceObject $(Get-Content d:\source.txt) -DifferenceObject $(Get-Content d:\destination.txt) | fl 

It shows the different files and the location of each item denoted by the symbols <= or => for left folder and right folder respectively. The output also shows extra files in the source as well as the destination.

Compare using WinDiff

Alternately, you can run WinDiff and compare d:\source.txt and d:\destination.txt . You can use the following WinDiff command-line to compare the files:

 d:\Tools\windiff.exe d:\source.txt d:\destination.txt 

The WinDiff output shows differences highlighted in yellow/red. From the above screenshot, we can infer that the file 0xc1900101-error.png is different. Also, the destination folder or the right folder (denoted by the symbols !> in WinDiff) has an extra file named 1h.txt .

PowerShell supports many hash algorithms and so it has an advantage over the FCIV.exe tool. The Microsoft FCIV tool supports MD5 and SHA-1 algorithms only, which are outdated and can be ineffective due to collision issues, albeit very rarely. SHA-1 collision means that two files have identical SHA-1 hashes but different content. So, SHA-256 may be the preferred algorithm for file or folder comparison in a production environment.


Note that the command-line methods 11 & 12 below only help you compare the structure of two directories along with files. They don't compare file sizes or modified date to know which is the newer. They only do a plain comparison based on file names and you wouldn't know if one of the destination files becomes corrupt during a copy operation. In a production environment, you may need to use other tools or methods if you need to verify the integrity of your files in the source and destination folders, to make sure they are the exact same copies.

Method 11: List the folder structure using TREE command

To compare two directories along with sub-directories, the good old TREE command comes extremely handy. Suppose you want to compare the two folders (including file names) D:\SOURCE and D:\DEST, follow these steps:

  1. Öffnen Sie ein Eingabeaufforderungsfenster.
  2. Type these commands:
     TREE D:\SOURCE /A /F >D:\SOURCE.TXT 
     TREE D:\DEST /A /F >D:\DEST.TXT 

    This outputs each of the command results to separate text files in your D:\ drive's root directory. The text files will have your directory structure in a tree format, which makes it easy for comparison work.

    Quick Tip: To compare only the directories, remove the /F flag.
  3. Next, fire up your text comparison utility like WinDiff, WinMerge or DiffMerge. Alternately, you can compare the two text files online via diffchecker.com.
  4. Go to DiffChecker.com and paste the contents of d:\source.txt in one column, and D:\DEST.txt in another column. Click Find differences .

    Verzeichnisvergleich

    Directory and files comparison

Method 12: List folder structure using the DIR Command

To compare the contents of two directories, another command-line you can use is the DIR command.

$config[ads_text6] not found

Use the following command-line syntax to generate the list of files in a directory recursively. You can then compare it using a compare tool or DiffMerge.

 DIR D:\SOURCE /S /AD /B >D:\SOURCE.TXT 
 DIR D:\DEST /S /AD /B >D:\DEST.TXT 
Quick Tip: To include files along with the directory listing, remove the “/AD” flag.

There is one problem though, when using the DIR command. It lists full directory and file paths in the output, as below:

  1. D:\Source\Apr\Week1
  2. D:\Source\Apr\Week2
  3. D:\DEST\Apr\Week1
  4. D:\DEST\Apr\Week2

In that case, you'll need to remove the comparison base paths D:\SOURCE\ and D:\DEST\ in the respective text files by editing them with Notepad. To bulk replace text, use the Replace option in Notepad and remove every occurrence of the base path.

Once done, save the files and compare the contents online via DiffChecker or using an offline text-comparison tool like WinDiff or WinMerge.

Directory comparison – List generated using DIR instead of TREE

I bet you'll find directory contents output generated using TREE to be much easier and far neater than DIR .


Hope the above methods helped you quickly compare the contents of two folders recursively, identify missing and modified files and reconcile differences.

Let's know your comments!

Ähnlicher Artikel