Last updated: 26 Mar 26 00:20:22 (UTC)

Running an elevated sync job using Freefilesync

 

Running an elevated sync job that writes into C:\Program Files is totally doable — you just want to isolate the elevation so the GUI stays non‑admin while the actual sync runs with admin rights. That gives you safety, repeatability, and a much smaller blast radius.

Here’s the clean, safe pattern that power users rely on.


🧱 The Architecture of a Safe Elevated Sync Job

You create two things:

  1. A normal (non‑admin) FreeFileSync GUI job
    → Saved as a .ffs_batch file
    → Contains your sync rules, filters, and paths (including C:\Program Files\YourFolder)

  2. A Scheduled Task that runs that batch file with highest privileges
    → This is the only elevated component
    → You trigger it manually, or via a small launcher script

This avoids running the whole FreeFileSync GUI as admin, which is where the real danger lies.


🧩 Step 1 — Build your sync job normally (no admin)

  1. Open FreeFileSync as yourself
  2. Configure the sync:
    • Left side: your source folder
    • Right side: C:\Program Files\YourFolder
  3. Set filters, direction, versioning, etc.
  4. Save it as a batch job:
    File → Save as Batch Job…
  5. Save it somewhere safe, e.g.:
    C:\Users\Sarah\SyncJobs\ProgramFilesSync.ffs_batch

This file contains zero elevation — perfect.


🧩 Step 2 — Create a Scheduled Task that runs elevated

This is the safe elevation boundary.

  1. Open Task Scheduler

  2. Create a new task (not a basic task)

  3. On the General tab:

    • Name: FreeFileSync Program Files Sync
    • Check Run with highest privileges
    • Set “Configure for” to your Windows version
  4. On the Actions tab:

    • Action: Start a program

    • Program/script:

      "C:\Program Files\FreeFileSync\FreeFileSync.exe"
    • Add arguments:

      "C:\Users\Sarah\SyncJobs\ProgramFilesSync.ffs_batch"
  5. On the Conditions and Settings tabs: leave defaults unless you want automation.

Now you have a fully elevated sync job that only runs when explicitly triggered.


🧩 Step 3 — (Optional) Create a safe launcher script

This lets you run the elevated task without opening Task Scheduler.

Create a file called RunProgramFilesSync.cmd:

schtasks /run /tn "FreeFileSync Program Files Sync"

Double‑clicking this runs the elevated sync job — but the script itself is not elevated, so it can’t do any damage.


🛡️ Why this is safer than running FreeFileSync as admin

  • The GUI never has admin rights
  • You can’t accidentally drag‑sync into C:\Windows
  • Only the specific batch job is elevated
  • Permissions stay consistent
  • No risk of elevated scripts or plugins running unexpectedly
  • No accidental traversal of symlinks into system folders

This is the same pattern used by sysadmins who sync into protected directories.