# SyncToy

SyncToy ist ein kostenloses Programm aus den PowerToys, das eine einfach zu bedienende, grafische Benutzeroberfläche für die automatische Synchronisation von Dateien und Ordnern bietet. Es ist mit Microsofts .NET Framework geschrieben und benutzt das Microsoft Sync Framework.

## Eigenschaften

Der Benutzer muss zunächst ein „Ordner-Paar“ erstellen, welches die zwei Ordner („linker“ und „rechter“ Ordner) repräsentiert, die verglichen und synchronisiert werden sollen. Diese Ordner können auf einem lokalen Laufwerk, auf einem externen Medium wie z. B. USB-Massenspeicher oder aber auf einem Netzlaufwerk eines anderen Computers liegen. SyncToy unterstützt UNC-Pfade. SyncToy weist zwei Sicherungssysteme auf, die sicherstellen, dass der Benutzer keine bei der Synchronisation als unnötig gekennzeichnete Dateien dauerhaft verliert. Erstens, der Benutzer kann bei der Vorschau sehen, was im nächsten Schritt der Synchronisation geschehen wird, ohne dass die eigentliche Operation stattfindet; Zweitens, alle gelöschten Dateien werden optional in den Papierkorb verschoben.
SyncToy definiert drei unterschiedliche Typen von Operationen um zwei Ordner zu synchronisieren: Synchronize, Echo und Contribute.
* Synchronize vergleicht die zwei Ordner und stellt sicher, dass sie exakt den gleichen Dateiinhalt haben. Um das zu bewerkstelligen, kann SyncToy Dateien in beiden Ordnern kopieren, löschen und umbenennen.
* Echo schaut nach Dateiänderungen (neue Dateien, Umbenennungen, Löschung) im linken Ordner und führt diese im rechten Ordner durch (Einweg-Synchronisation).
* Contribute ist wie Echo, aber es löscht keine Dateien im rechten Ordner, die im linken Ordner gelöscht wurden.
SyncToy unterstützt die 32-Bit- und 64-Bit-Versionen von Windows 7, Windows Vista und Windows XP.
Die Entwicklung und Fehlerbehebung des Programms sind eingestellt, ebenso der Download beim Hersteller.

## Geschichte

SyncToy wurde ursprünglich als PowerToy für Windows XP entwickelt. Die ersten Versionen hatten Versionsnummern 1.x, die mit Version 1.4 endeten. Diese Versionen waren in Microsofts .NET Framework geschrieben, benutzten aber ihren eigenen Code für die Ordnersynchronisation. Sie beinhalteten die gleichen Aktionen wie die aktuelle Version und zwei zusätzliche (genannt Subscribe and Combine):
* Subscribe wird jede Datei im linken Ordner aktualisieren, die im rechten Ordner existiert, aber älter ist. Es werden keine neuen Dateien kopiert, nur existierende aktualisiert, wenn notwendig.
* Combine war ähnlich wie Synchronise, nur dass keine Datei gelöscht wird; weder im linken noch im rechten Ordner. Wenn eine Datei auf der einen Seite veraltet ist, wird sie umbenannt und anschließend die neue Datei kopiert, so dass beide Kopien – die alte und die aktualisierte – im Ordner verbleiben. Außerdem werden Dateien, die in einen der Ordner gelöscht wurden, nicht im anderen Ordner gelöscht. Es erfolgen nur Kopier- und Umbenenn-Operationen.
Im November 2008 erschien Version 2.0. Diese war eine umgeschriebene Version, basierend auf dem Microsoft Sync Framework. Verglichen mit Version 1.4 beinhaltet sie eine bessere Unterstützung für unbeaufsichtigte Synchronisationen, 64-Bit-Kompatibilität, Unterstützung für die Synchronisation von Dateien auf EFS-Laufwerken, Datei- und Ordner-Ausschluss basierend auf Namen- und Dateitypen, Umbenennen von Ordner-Paaren und Erkennung von Laufwerkbuchstaben-Neuzuordnung. SyncToy 2.1 erschien am 24. November 2009 und beinhaltet einige kleinere Erweiterungen sowie mehrere Fehlerbehebungen, einschließlich die eines schwerwiegenden Problems, bei welchem Daten auf Netzlaufwerken (NAS) zerstört werden könnten, und eines weiteren Problems, bei welchem Löschvorgänge im Echo-Modus nicht synchronisiert wurden. Das letztere ist offenbar nicht vollständig korrigiert worden, da der Effekt auch in der aktuellen Version gelegentlich auftritt.