# SyncToy

SyncToy was a freeware tool in Microsoft's PowerToys series that provided an easy-to-use graphical user interface for synchronizing files and folders in Windows versions XP, Vista, 7 and 10. It was written using Microsoft's .NET Framework and used the Microsoft Sync Framework.

## Features

Users initially need to create a "folder pair" that represents the two folders ("left" and "right" folders) to be compared and synchronized. These folders can be on the local drive, on an external device such as a flash drive, or on a network share from another computer. SyncToy supports UNC paths. It provides a Browse option to find the folder or network share, or users can type it in directly. SyncToy offers two safeguards to ensure that the user does not lose files permanently when they are deemed unnecessary during a sync. Firstly, a user can preview what is going to happen when the sync takes place, without actually changing anything; secondly, any deleted files are optionally moved to the Recycle Bin.
SyncToy defines three different types of operation to synchronize two folders:
* Synchronize takes the two folders and makes sure they have exactly the same files. To do this, SyncToy may copy files in either direction and may delete or rename files in either folder. In the case that a file has been updated in both the left and right folders, the version with the later modification date is considered the winner. The other version will be overwritten (but can be recovered via the Recycle Bin if one's settings specify that all deletions go to the Recycle Bin).
* Echo looks for changes (file modifications, new files, renames, deletes) in the left folder and makes the right folder match the left folder in every way.
* Contribute is like an Echo, but it does not delete any files.
SyncToy supports 32-bit and 64-bit versions of Windows 7, Windows Vista, and Windows XP.

## History

SyncToy started as a Powertoy for Windows XP. Initially releases took version numbers 1.x, culminating in version 1.4. These versions were written in Microsoft's .NET Framework but contained their own code for folder synchronization. They included the same actions as the present version, plus two additional actions (labelled Subscribe and Combine):
* Subscribe would update any file in the left folder that also exists in the right folder and is found to be older. No new files would be copied, only existing files updated, if needed.
* Combine was similar to synchronize except that no files would be deleted between the pairs. If a file on one side is out-of-date it is renamed then the newer file copied, so both the updated copy and the older version are retained in that folder. And any file deleted in either of the paired folders is not deleted in the other folder. Only copy (and rename) operations occur.
In November 2008 version 2.0 was released. This was a rewritten version built to use the Microsoft Sync Framework. Compared to version 1.4 it included better support for unattended synchronization runs, x64 compatibility, support for synchronizing encrypted files, file and folder exclusion based on both names and file types, renaming folder pairs and detection of drive letter reassignment. SyncToy 2.1 was released on November 10, 2009, and includes several minor enhancements and fixes for several bugs, including a serious issue where data on NAS would be corrupted, and another where deletes would not be synchronized when in Echo mode.
Version 2.1 was the last version available when its official download was discontinued in January 2021.