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:
-
A normal (non‑admin) FreeFileSync GUI job
→ Saved as a.ffs_batchfile
→ Contains your sync rules, filters, and paths (includingC:\Program Files\YourFolder) -
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)
- Open FreeFileSync as yourself
- Configure the sync:
- Left side: your source folder
- Right side:
C:\Program Files\YourFolder
- Set filters, direction, versioning, etc.
- Save it as a batch job:
File → Save as Batch Job… - 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.
-
Open Task Scheduler
-
Create a new task (not a basic task)
-
On the General tab:
- Name:
FreeFileSync Program Files Sync - Check Run with highest privileges
- Set “Configure for” to your Windows version
- Name:
-
On the Actions tab:
-
Action: Start a program
-
Program/script:
"C:\Program Files\FreeFileSync\FreeFileSync.exe"
"C:\Program Files\FreeFileSync\FreeFileSync.exe" -
Add arguments:
"C:\Users\Sarah\SyncJobs\ProgramFilesSync.ffs_batch"
"C:\Users\Sarah\SyncJobs\ProgramFilesSync.ffs_batch"
-
-
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"
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.