FreeFileSync Open Source File Synchronization

About Tutorials Screenshots Vision Download Archive Forum F.A.Q. Manual Donate
It looks like an ad blocker has blocked the ads. Donate now The FreeFileSync project is 100% dependent on ad revenue and donations to stay alive. Instead of the ads, and after FreeFileSync has proven useful to you, please think about supporting with a donation.
FreeFileSync User Manual:

Command Line Usage

FreeFileSync supports additional synchronization scenarios via a command line interface. To get a syntax overview, open the console, go to the directory where FreeFileSync is installed and type:
FreeFileSync -h or FreeFileSync --help

Command line syntax

1. Run a FreeFileSync batch job

In order to start synchronization in batch mode, supply the path of a ffs_batch configuration file as the first argument after the FreeFileSync executable:
FreeFileSync "D:\Backup Projects.ffs_batch"

After synchronization one of the following status codes is returned:
Exit Codes
0   Synchronization completed successfully
1   Synchronization completed with warnings
2   Synchronization completed with errors
3   Synchronization was aborted

You can evaluate these codes from a script (e.g. a cmd or bat file on Windows) and check if synchronization completed successfully:
"C:\Program Files\FreeFileSync\FreeFileSync.exe" "D:\Backup Projects.ffs_batch"
if not %errorlevel% == 0 (
  ::if return code is 1 or greater, something went wrong, add special treatment here
  echo Errors occurred during synchronization...
  pause & exit 1
)

Attention
If you are running the batch job unattended, make sure your script is not blocked showing a notification dialog. Consider the following options when setting up the FreeFileSync batch job:
 
  • Enable Auto-Close to skip the summary dialog after synchronization.
  • Set up error handling to Ignore errors or Cancel to stop the synchronization at the first error.

2. Start a FreeFileSync GUI configuration

If you pass a ffs_gui file, FreeFileSync will start in GUI mode and immediately start comparison (but only if all directories exist):
FreeFileSync "D:\Manual Backup.ffs_gui"

3. Customize an existing configuration

You can replace the directories of a given ffs_gui or ffs_batch configuration file by using the -DirPair parameter:
FreeFileSync "D:\Manual Backup.ffs_gui" -dirpair C:\NewSource D:\NewTarget

4. Merge multiple configurations

When more than one configuration file is provided, FreeFileSync will merge everything into a single configuration with multiple folder pairs and start in GUI mode:
FreeFileSync "D:\Manual Backup.ffs_gui" "D:\Backup Projects.ffs_batch"

5. Use a different GlobalSettings.xml file

By default, FreeFileSync uses a single GlobalSettings.xml file containing options that apply to all synchronization tasks; for examples see Expert Settings. If you want FreeFileSync to use a different settings file instead, just add the path via command line:
FreeFileSync "D:\Different GlobalSettings.xml"