SDS – Simple Directory Sync backup and synchronization tool (freeware)

SDS (Simple directory sync) is a free file and directory synchronisation tool in the form of a windows command line utility that you can easily script with a power-shell or batch-file to make standard source to target backups.

SDS can backup folders from and to both standard drives and UNC locations.

Current version download: see downloads section at the bottom of the page

  • Version 19.2.4 (4 feb 2019)
    • Support for faceless operation without console window
  • version 17.9.17 (17 sep 2017)
    • new parameter: -sh : skip hidden files
  • Version 17.8.22 (22 aug 2017)
    • UNC paths are now supported, so you can do sds.exe \\server\source \\nas\target
    • new parameter -h : halt on errors and wait for the user to confirm the error
    • new parameter -d : create target location if it does not exist.
  • Version 15.7.0 (7 jul 2015)
    • sds will no longer throw an exception if the source or target path doesnt exist at all
    • a standard windows installer package is now provided.
  • Version 1.0.3.X (3 may 2014)
    • sds will now skip instead of abort on files and directories that are in use or insufficient permissions
    • new paramter -mail: specifies an address to send the activity log to
    • new parameter -smtp: specifies an smtp server to use (default localhost)
    • new paramter -sender: specifies the sender email address to use (default localuser@localdomain)
  • Version (19 apr 2014)
    • Fix for an exception removing empty directories
  • Version (5 apr 2014)

SDS uses the .NET framework version 4.0 which will be already on your computer if you are running Windows 8+ or server 2012+, and is a free download for any windows version starting with Windows XP and up. The binary is compiled with the AnyCpu option so it will run in 32 or 64 bit depending on which type of system you have. Installation is straightforward. Unpack the zip into a location of your choosing, and optionally add this location to your path setting. The basic call is as follows:

sds c:\source n:\target

Which will make the file system tree at the location n:target equal to the tree at c:\source. Synchronization is done in two passes. The first pass deletes any files from the target location that are no longer present at the source location. The seconds pass copy’s files from the source location to the target location if they are new or changed. Changes are detected by comparing the file sizes and date-time stamps of last writes. The granularity of the date-time stamps is set to 60 seconds to compensate for some differences between file systems and prevent files being copied each and every time synchronization is run. (many cheap NAS systems with older Samba versions have this problem). If you copy from a local to a network drive you need to map a drive letter to the network location in other to use it with sds. The same way you can sync between two network location by mapping two drive letters. The amount of files that can be handled is basically unlimited as long as your system has available memory to hold the files list. (no hard limits are present).


All parameters are placed in fronf of the source an target specifications, eg: sds -smtp:your.smtp.server c:\source n:\target

-mailspecifiy a reciepient for the logfile
-smtpspecify which smtp server to use (default localhost)
-senderspecify which sender address to use (default localuser@localdomain)
-hhalt on errors and wait for confirmation
-dcreate directory for target if it does not exist
-shskip hidden files during scanning