A menu-driven PowerShell tool for automatic folder synchronization on Windows.
Made by Projektgruppe STERRA · https://sterra.online
Folder Sync Manager lets you keep folders in sync across local drives, external drives, and network shares (UNC paths). It supports three sync types and three delivery modes, all configurable through an interactive console menu — no command-line knowledge required.
Configuration is encrypted with Windows DPAPI and stored per user, so your folder paths are never readable by other accounts on the same machine.
- 3 sync types — Backup, Sync (bidirectional), and Mirror
- 3 delivery modes — Instant background daemon, scheduled daily reminders, or manual launcher
- Real-time daemon using
FileSystemWatcherwith debounce logic — changes are reflected in milliseconds - Conflict detection in bidirectional sync — conflicting files are renamed instead of overwritten
- Automatic catch-up sync every 10 minutes in daemon mode to cover missed events
- Network share support — connects to UNC paths (
\\Server\Share) with optional credentials - Encrypted config via Windows DPAPI (only the current Windows user can decrypt)
- Log rotation — daemon log capped at 5 MB, auto-rotated to
.bak - No admin rights required for standard use
- Multiple connections — manage any number of folder pairs, each with its own sync type and delivery mode
- Pause/Resume individual connections without deleting them
- Mutex-protected sync — prevents concurrent sync conflicts
| Requirement | Version |
|---|---|
| Windows PowerShell | 5.1 or later |
| .NET Framework | 4.5+ (pre-installed on Windows 10/11) |
| Windows OS | Windows 10 or Windows 11 |
Administrator rights are not required for standard use. The installer registers tasks with
RunLevel Limited.
Double-click StartFolderSync.bat in the same folder as the script. This opens the interactive menu with elevated permissions if needed.
powershell.exe -ExecutionPolicy Bypass -File "FolderSync.ps1"On first launch, choose 1 — Install / Activate from the main menu to set up your connections.
=== FOLDER SYNC MANAGER ===
Projektgruppe STERRA | Made by Collin Lerche (zfzfg)
https://sterra.online
Copyright (c) 2026 Collin Lerche (zfzfg) | MIT License
Status : Installed (daemon:1 reminder:0 manual:0 paused:0)
1. Install / Activate
2. Edit configuration
3. Uninstall / Deactivate
4. Sync now (manual run)
5. Connections overview
6. View daemon log
7. Exit
| Option | Action |
|---|---|
| 1 | Run the setup wizard to add folder pairs and choose delivery modes |
| 2 | Add/remove connections, change sync type or delivery mode, pause/resume, edit reminder times or launcher location |
| 3 | Stop and remove the daemon task and all scheduled tasks |
| 4 | Run a one-time sync across all active connections immediately |
| 5 | Show all connections with their type, mode, and active/paused status |
| 6 | View the last 40 lines of the daemon log |
| 7 | Exit |
Each folder pair has an independently assigned sync type:
Copies new and changed files from Source → Destination. Deletions in Source are ignored — files stay in Destination. Safe for simple backups where you never want to lose data.
Tracks both folders using a snapshot. Changes in either side are propagated to the other. Deletions are mirrored.
Conflict handling: If both sides changed the same file since the last snapshot, the older copy is renamed (e.g. file.conflict-20260523-142500.txt) and both versions are kept.
Source always wins. Destination becomes an exact copy of Source — files deleted from Source are also deleted from Destination, and no extra files are kept in Destination.
Each folder pair also has an independently assigned delivery mode:
A background PowerShell process runs silently using FileSystemWatcher. It starts automatically at every Windows logon via a registered Scheduled Task (FolderSync_Daemon). Changes are synced within ~500 ms. A catch-up full sync runs every 10 minutes.
Windows Task Scheduler triggers a popup dialog at your configured daily times (e.g. 08:00, 18:30). The dialog asks whether to sync now or be reminded later.
A StartSync.bat launcher file is generated at a location of your choice. Double-clicking it triggers a full sync for all manual-mode connections.
The wizard walks you through two steps:
Step 1 — Connections
For each connection, you provide:
- Source folder path (local or UNC)
- Destination folder path (local or UNC)
- Sync type: Backup / Sync / Mirror
- Delivery mode: Instant / Reminder / Manual
You can add multiple connections in one wizard run.
Step 2 — Delivery infrastructure
- If any connection uses Reminder: enter one or more daily times (
HH:mm) - If any connection uses Manual: choose a folder where
StartSync.batwill be created - If any connection uses Instant (Daemon): the daemon task is registered automatically
1. Add a connection
2. Remove a connection
3. Change sync type
4. Change delivery mode
5. Pause / Resume a connection
6. Edit reminder times
7. Change launcher location
8. Save and return
9. Cancel (discard changes)
| File | Purpose |
|---|---|
%APPDATA%\FolderSync\SyncConfig.json |
Encrypted configuration (DPAPI, current user only) |
%APPDATA%\FolderSync\daemon.log |
Daemon activity log (rotates at 5 MB) |
%APPDATA%\FolderSync\daemon.log.bak |
Previous log rotation backup |
%APPDATA%\FolderSync\FolderSync.ps1 |
Daemon script copy (auto-updated on install) |
%APPDATA%\FolderSync\daemon_launcher.vbs |
Silent VBScript launcher for the daemon task |
%APPDATA%\FolderSync\daemon.pid |
Running daemon process ID |
%APPDATA%\FolderSync\snapshot_*.json |
Sync snapshots for bidirectional mode (S) |
These flags are used internally (by the daemon task and launcher scripts) and are not needed for normal interactive use:
| Flag | Effect |
|---|---|
| (none) | Open the interactive main menu |
-Daemon |
Start the background daemon (FileSystemWatcher loop) |
-DaemonInitSync |
Run a one-time initial sync for all daemon connections |
-Reminder |
Trigger the reminder popup dialog |
-Manual |
Run a one-time sync for all manual-mode connections |
-AutoSync |
Legacy alias for -Reminder |
2026-05-23 14:30:01 START Daemon started (PID 9142, 2 daemon connection(s), ...)
2026-05-23 14:30:05 BAK Documents\report.docx
2026-05-23 14:32:11 SYN> Projects\code.py
2026-05-23 14:32:11 DEL old_file.txt
2026-05-23 14:33:00 INFO Config reloaded.
| Level | Meaning |
|---|---|
START |
Daemon started |
STOP |
Daemon stopped |
INFO |
Informational message |
WARN |
Warning (non-fatal) |
ERR |
Error during a sync operation |
BAK |
File copied (Backup mode) |
SYN> |
File synced forward (Sync/Mirror mode) |
SYN< |
File synced backward (Sync mode) |
MIR> |
File mirrored (Mirror mode) |
DEL |
File deleted from destination |
"Execution Policy" error on launch
Use StartFolderSync.bat or run: powershell.exe -ExecutionPolicy Bypass -File "FolderSync.ps1"
Daemon not starting at logon
Go to menu → 3 (Uninstall), then → 1 (Install) again to re-register the scheduled task. Check Task Scheduler for FolderSync_Daemon.
Cannot reach UNC path (\\Server\Share)
The install wizard will prompt you to connect anonymously or with credentials. Credentials are stored only for the duration of the session via New-PSDrive and are never written to disk in plaintext.
Config is unreadable after moving to another user account
The configuration is encrypted with Windows DPAPI and can only be decrypted by the same Windows user account. Run the wizard again under the new account.
Sync not reflecting recent changes
The daemon runs a catch-up sync every 10 minutes. You can also trigger an immediate sync via menu option 4 (Sync now).
MIT License
Copyright (c) 2026 Collin Lerche (zfzfg) | Projektgruppe STERRA
https://sterra.online
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Folder Sync Manager is a project by Projektgruppe STERRA.
- Author: Collin Lerche (zfzfg)
- Website: https://sterra.online
- Version: 1.0.0