Warning
This software can permanently delete source and destination data. Read the Data-Loss Warning and Disclaimer before use.
Retention and Source Cleanup are experimental features that can permanently delete source files or older backups.
Both features are disabled by default and must be enabled explicitly. Always keep an independent, verified backup before using them.
See the Wiki for detailed configuration, restore instructions, limitations, and safety information.
EasyVersionBackup is a lightweight Windows tool for creating versioned backups of folders. Back up save-game folders, office-document folders, Visual C# project folders, and other local directories.
It supports manual and automatic backups, multiple source β target configurations, ZIP backups, per-entry exclusions, skipped-file reporting, system tray integration, and a clean WinForms interface.
EasyVersionBackup is free to use. If this tool saves you time, you can support development here:
Important
If Windows SmartScreen blocks the app, right-click the EXE β Properties β check Unblock β Apply β OK, then start it again.
Main-Window
Backup Pair Settings
Source Cleanup
- Create structured backups with version numbers
- Supports manual input, auto-increment, and timestamp-based versions
- Remembers manually adjusted versions per source β target pair
- Detects existing versions and suggests the next logical version
- Updated versions are stored only after a successful backup
- Canceling a backup does not advance or persist the version number
- Configure multiple source β target pairs
- Enable or disable each entry individually
- Edit source and target paths directly in the main window
- Browse folders directly from the main table
- Configure versioning, retention, source cleanup, timers, and error handling per backup pair
- Define excluded files or folders per backup entry
- Edit exclusions directly from the main window or Settings
- Add and remove exclusions through a table-based editor
- Confirmation prompt before removing existing exclusion entries
- Supports source-relative paths and glob-style patterns
Pattern behavior:
.savand*.savmatch.savfiles*matches characters within one path level**matches any number of folder levels- A trailing
\restricts the rule to folders - Matching is case-insensitive
- Wildcard-only exclusions are rejected for safety
- Configure retention separately for every backup pair
- Keep the newest number of backups
- Keep backups for a configured number of days
- Combine retention rules using
ANDorOR - Protect tagged backups such as
FinalorOK - Preview affected backups before permanent deletion
- Choose between:
- Canceling the complete backup
- Continuing without deleting old backups
- Creating the backup and deleting confirmed retention candidates
- Destructive actions are clearly highlighted
- Experimental feature for removing old source files after a successful backup
- Must be enabled globally and per backup pair
- Supports multiple rules, for example:
.sav G1R*.sav Saved\SaveGames\.sav Saved\SaveGames\G1R*.sav - Keep the newest files or delete files older than a selected date
- Shows a deletion preview before cleanup
- Directories are never deleted
- Cleanup does not run if the backup fails or is canceled
- Define intervals like
30s,5m, or1h - Configure a global timer or a custom timer per backup pair
- Live countdown visible:
- In the main UI
- In the window title
- In the system tray tooltip
- Backup progress is displayed directly inside the main table
- Source-related operations fill the source-directory cell
- Target-related operations fill the target-directory cell
- The timer column temporarily shows the current percentage
- Indeterminate phases use a subtle moving progress fill
- The normal timer value is restored after completion
- Multiple backup pairs can show progress independently
- No additional progress window or focus change is required
- File and ZIP creation runs outside the UI thread
- Works while you use other applications
- Automatic backups remain silent unless user interaction is required
- Destination-conflict and retention confirmations can still require interaction
- Optional minimize-to-system-tray behavior
- Per-entry status indicator:
- π’ OK
- π‘ Warning
- π΄ Error
- Hover for quick details:
- Last backup time
- Error messages
- Skipped-file summary
- Click the info icon to open a copyable and scrollable details dialog
- Skipped files are listed individually when available
- Skipped files do not automatically mark a successful backup as failed
- Retention is indicated by a red
Rmarker - Source cleanup is indicated by a cyan
Cmarker - Both markers are displayed when both features are active
- Optional compression into
.ziparchives - Uses the same versioning logic as folder-based backups
- Temporary ZIP files are finalized only after successful creation
- No additional metadata sidecar files are created
- Option to ignore locked or in-use files
- Backup can continue without interruption
- Skipped files are reported per backup entry
- Skipped-file summaries distinguish between files and folders
- Failed or canceled backups do not trigger source cleanup
- Useful for projects with temporary build files, IDE locks, or active services
-
Minimize to tray
-
Tray tooltip shows the next scheduled backup:
Next backup in 2 minutes (19:52)
-
Manual and automatic backups can show tray notifications
-
Canceled backups are reported as canceled instead of completed
- Clean, compact main window
- Toolbar with quick actions:
- Exit
- Add path
- Remove path
- Settings
- About
- Backup
- Modern themed dialogs and scrollbars
- Clear visual distinction between normal and destructive actions
- Main window initially shows only a small number of rows
- Window remains resizable
- Resize indicator included
- Tooltips and contextual help added for important controls
- Configure one or more source β target paths
- Optionally define exclusions per backup pair
- Choose a versioning method
- Optionally configure:
- Retention
- Source cleanup
- Custom backup timer
- Error handling
- Click Backup or let the configured timer start it automatically
- The app will:
- Validate the source and target paths
- Create a versioned directory or ZIP archive
- Report progress directly in the backup-pair row
- Skip problematic files if configured
- Preview Source Cleanup and Retention candidates before deletion
- Allow canceling the backup or continuing without deletion
- Apply confirmed Source Cleanup only after a successful backup
- Apply confirmed Retention after backup creation
- Store the final backup status per entry
- Persist the selected version only after success
Flexible input:
30sβ 30 seconds5mβ 5 minutes1hβ 1 hour15β 15 minutes by default
Starting version or pattern, for example:
nonev1.01.0yyyy-MM-ddyyyyMMddyyyy-MM-dd-HH-mmyyyyMMddHHmm
- Automatically increases compatible version numbers
- Updated versions are saved only after a successful backup
- Keep the latest configured number of backups
- Keep backups for a configured number of days
- Combine enabled rules with
ANDorOR - Exclude tagged backups from deletion
- Delete only explicitly configured file types
- Restrict cleanup to specific source-relative folders
- Keep the newest files or delete files older than a selected date
- Keeps the app running quietly in the background
- Skips locked or problematic files instead of stopping the backup
- Enable to create one
.ziparchive per backup - Disable to create a versioned backup directory
- Exclude folders or files from individual backup entries
- Supports simple names, file extensions, relative paths,
*, and**
The published application targets Windows x64 and requires the .NET 8 Desktop Runtime because the project is framework-dependent (SelfContained=false).
Application settings are stored in:
<application directory>\Settings\EasyVersionBackup.settings.json
The application no longer creates .evbmeta sidecar files beside ZIP backups.
- Backup Visual Studio projects
- Create safe snapshots before refactoring
- Preserve game saves while automatically removing older save files
- Keep only a defined number of recent backups
- Protect release backups using retention tags
- Save versions before deployments or releases
- Run automatic backups while working