<main id="js-repo-pjax-container" >
<turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class="">
Open in github.dev
Open in a new github.dev tab
Open in codespace
<react-app
app-name="code-view"
initial-path="/UncleRiot/EasyVersionBackup/blob/master/README.md"
style="display: block; min-height: calc(100vh - 64px);"
data-attempted-ssr="true"
data-ssr="true"
data-lazy="false"
data-alternate="false"
data-data-router-enabled="true"
data-react-profiling="false"
>
<script type="application/json" data-target="react-app.embeddedData">{"payload":{"codeViewBlobRoute":{"csv":null,"csvError":null,"headerInfo":{"toc":[{"level":2,"text":"Important Safety Notice","anchor":"important-safety-notice","htmlText":"Important Safety Notice"},{"level":1,"text":"EasyVersionBackup","anchor":"easyversionbackup","htmlText":"EasyVersionBackup"},{"level":2,"text":"❤️ Support","anchor":"️-support","htmlText":"❤️ Support"},{"level":2,"text":"🚀 Features","anchor":"-features","htmlText":"🚀 Features"},{"level":3,"text":"Versioned Backups","anchor":"versioned-backups","htmlText":"Versioned Backups"},{"level":3,"text":"Multiple Backup Configurations","anchor":"multiple-backup-configurations","htmlText":"Multiple Backup Configurations"},{"level":3,"text":"Per-Entry Exclusions","anchor":"per-entry-exclusions","htmlText":"Per-Entry Exclusions"},{"level":3,"text":"Backup Retention","anchor":"backup-retention","htmlText":"Backup Retention"},{"level":3,"text":"Source Cleanup","anchor":"source-cleanup","htmlText":"Source Cleanup"},{"level":3,"text":"Flexible Backup Timer","anchor":"flexible-backup-timer","htmlText":"Flexible Backup Timer"},{"level":3,"text":"Silent Backup Progress","anchor":"silent-backup-progress","htmlText":"Silent Backup Progress"},{"level":3,"text":"Automatic Background Backups","anchor":"automatic-background-backups","htmlText":"Automatic Background Backups"},{"level":3,"text":"Status \u0026 Feedback System","anchor":"status--feedback-system","htmlText":"Status \u0026amp; Feedback System"},{"level":3,"text":"ZIP Support","anchor":"zip-support","htmlText":"ZIP Support"},{"level":3,"text":"Robust Error Handling","anchor":"robust-error-handling","htmlText":"Robust Error Handling"},{"level":3,"text":"System Tray Integration","anchor":"system-tray-integration","htmlText":"System Tray Integration"},{"level":3,"text":"Modernized UI","anchor":"modernized-ui","htmlText":"Modernized UI"},{"level":2,"text":"🧩 How It Works","anchor":"-how-it-works","htmlText":"🧩 How It Works"},{"level":2,"text":"⚙️ Settings Overview","anchor":"️-settings-overview","htmlText":"⚙️ Settings Overview"},{"level":3,"text":"Backup Timer","anchor":"backup-timer","htmlText":"Backup Timer"},{"level":3,"text":"Default Versioning","anchor":"default-versioning","htmlText":"Default Versioning"},{"level":3,"text":"Auto Increment","anchor":"auto-increment","htmlText":"Auto Increment"},{"level":3,"text":"Retention","anchor":"retention","htmlText":"Retention"},{"level":3,"text":"Source Cleanup","anchor":"source-cleanup-1","htmlText":"Source Cleanup"},{"level":3,"text":"Minimize to Systray","anchor":"minimize-to-systray","htmlText":"Minimize to Systray"},{"level":3,"text":"Ignore Copy Errors","anchor":"ignore-copy-errors","htmlText":"Ignore Copy Errors"},{"level":3,"text":"ZIP Backups","anchor":"zip-backups","htmlText":"ZIP Backups"},{"level":3,"text":"Per-Path Exclusions","anchor":"per-path-exclusions","htmlText":"Per-Path Exclusions"},{"level":2,"text":"🖥️ Runtime Requirement","anchor":"️-runtime-requirement","htmlText":"🖥️ Runtime Requirement"},{"level":2,"text":"💡 Use Cases","anchor":"-use-cases","htmlText":"💡 Use Cases"}]},"issueTemplate":null,"discussionTemplate":null,"richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv class=\"markdown-alert markdown-alert-warning\" dir=\"auto\"\u003e\u003cp class=\"markdown-alert-title\" dir=\"auto\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-alert mr-2\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"\u003e\u003c/path\u003e\u003c/svg\u003eWarning\u003c/p\u003e\u003cp dir=\"auto\"\u003eThis software can permanently delete source and destination data.\nRead the \u003ca href=\"/UncleRiot/EasyVersionBackup/blob/master/DISCLAIMER.md\"\u003eData-Loss Warning and Disclaimer\u003c/a\u003e before use.\u003c/p\u003e\n\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eImportant Safety Notice\u003c/h2\u003e\u003ca id=\"user-content-important-safety-notice\" class=\"anchor\" aria-label=\"Permalink: Important Safety Notice\" href=\"#important-safety-notice\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eRetention and Source Cleanup are experimental features that can permanently delete source files or older backups.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eBoth features are disabled by default and must be enabled explicitly. Always keep an independent, verified backup before using them.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eSee the \u003ca href=\"https://github.com/UncleRiot/EasyVersionBackup/wiki\"\u003eWiki\u003c/a\u003e for detailed configuration, restore instructions, limitations, and safety information.\u003c/p\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eEasyVersionBackup\u003c/h1\u003e\u003ca id=\"user-content-easyversionbackup\" class=\"anchor\" aria-label=\"Permalink: EasyVersionBackup\" href=\"#easyversionbackup\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eEasyVersionBackup is a lightweight Windows tool for creating versioned backups of folders.\nBack up save-game folders, office-document folders, Visual C# project folders, and other local directories.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eIt 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.\u003c/p\u003e\n\u003cbr\u003e\n\u003chr\u003e\n\u003cbr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e❤️ Support\u003c/h2\u003e\u003ca id=\"user-content-️-support\" class=\"anchor\" aria-label=\"Permalink: ❤️ Support\" href=\"#️-support\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eEasyVersionBackup is free to use.\nIf this tool saves you time, you can support development here:\u003c/p\u003e\n\u003ca href=\"https://ko-fi.com/uncleriot\" rel=\"nofollow\"\u003e\n \u003cimg src=\"https://camo.githubusercontent.com/13aafe6fc824bb4e063ef6a29a88d6c7ce2e5fc6bfd103e2fb7b44fcc995ab1d/68747470733a2f2f73746f726167652e6b6f2d66692e636f6d2f63646e2f6b6f6669322e706e673f763d33\" height=\"36\" alt=\"Support EasyVersionBackup on Ko-fi\" data-canonical-src=\"https://storage.ko-fi.com/cdn/kofi2.png?v=3\" style=\"max-width: 100%; height: auto; max-height: 36px;\"\u003e\n\u003c/a\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003chr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cdiv class=\"markdown-alert markdown-alert-important\" dir=\"auto\"\u003e\u003cp class=\"markdown-alert-title\" dir=\"auto\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-report mr-2\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"\u003e\u003c/path\u003e\u003c/svg\u003eImportant\u003c/p\u003e\u003cp dir=\"auto\"\u003eIf Windows SmartScreen blocks the app, right-click the EXE → \u003cstrong\u003eProperties\u003c/strong\u003e → check \u003cstrong\u003eUnblock\u003c/strong\u003e → \u003cstrong\u003eApply\u003c/strong\u003e → \u003cstrong\u003eOK\u003c/strong\u003e, then start it again.\u003c/p\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003chr\u003e\n\u003cp dir=\"auto\"\u003eMain-Window\u003c/p\u003e\n\u003cbr\u003e\n\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://private-user-images.githubusercontent.com/121725437/620399209-fa575d05-ad64-47d0-b571-23e36ca8c9a0.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjIwMzk5MjA5LWZhNTc1ZDA1LWFkNjQtNDdkMC1iNTcxLTIzZTM2Y2E4YzlhMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05YWIyMjA3OWYwOWE5N2ZmYjIwZDc0NDAxODM5ODI2ZGE2NDgxYjkwYTM4MDU0OGIwMzQyOTdhNTZmZmFjMzMzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.qjLQpT_r_tjQ_WN8twaG5BZtJOjqbcxwN_D6dxP7t7I\"\u003e\u003cimg width=\"956\" height=\"326\" alt=\"grafik\" src=\"https://private-user-images.githubusercontent.com/121725437/620399209-fa575d05-ad64-47d0-b571-23e36ca8c9a0.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjIwMzk5MjA5LWZhNTc1ZDA1LWFkNjQtNDdkMC1iNTcxLTIzZTM2Y2E4YzlhMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05YWIyMjA3OWYwOWE5N2ZmYjIwZDc0NDAxODM5ODI2ZGE2NDgxYjkwYTM4MDU0OGIwMzQyOTdhNTZmZmFjMzMzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.qjLQpT_r_tjQ_WN8twaG5BZtJOjqbcxwN_D6dxP7t7I\" style=\"max-width: 100%; height: auto; max-height: 326px;; aspect-ratio: 956 / 326; background-color: var(--bgColor-muted); border-radius: 6px\" class=\"js-gh-image-fallback\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cp dir=\"auto\"\u003eBackup Pair Settings\u003c/p\u003e\n\u003cbr\u003e\n\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://private-user-images.githubusercontent.com/121725437/620399274-1c40f1c8-8850-43b3-942b-96adca495d70.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjIwMzk5Mjc0LTFjNDBmMWM4LTg4NTAtNDNiMy05NDJiLTk2YWRjYTQ5NWQ3MC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03YzY4MDNiM2Y3OTFlYTJjMmIwYjA2OWFhYTcyZTBmYjJmYjBjOWY5MTA1YTZmM2FjMWU5NzI4OGE2MTAxMmI2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.k8UnHjQPIu6pr5HUZeSAIFsGDlgaaGmRnxWKstcSDvY\"\u003e\u003cimg width=\"420\" height=\"545\" alt=\"grafik\" src=\"https://private-user-images.githubusercontent.com/121725437/620399274-1c40f1c8-8850-43b3-942b-96adca495d70.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjIwMzk5Mjc0LTFjNDBmMWM4LTg4NTAtNDNiMy05NDJiLTk2YWRjYTQ5NWQ3MC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03YzY4MDNiM2Y3OTFlYTJjMmIwYjA2OWFhYTcyZTBmYjJmYjBjOWY5MTA1YTZmM2FjMWU5NzI4OGE2MTAxMmI2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.k8UnHjQPIu6pr5HUZeSAIFsGDlgaaGmRnxWKstcSDvY\" style=\"max-width: 100%; height: auto; max-height: 545px;; aspect-ratio: 420 / 545; background-color: var(--bgColor-muted); border-radius: 6px\" class=\"js-gh-image-fallback\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cp dir=\"auto\"\u003eSource Cleanup\u003c/p\u003e\n\u003cbr\u003e\n\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://private-user-images.githubusercontent.com/121725437/620399336-5d085162-6e20-4bb3-a952-b72d406892bd.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjIwMzk5MzM2LTVkMDg1MTYyLTZlMjAtNGJiMy1hOTUyLWI3MmQ0MDY4OTJiZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00ZTUxMzJlMzAwMzE1MzczYWRmOTgzZmVjNmY0Njk1MTcxYmZjMzczYTk2ZTc1NTg5MGYyNDkxM2Q0YzYzYjRjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.kvsQIxBkqPNE7kAboUoRNJZyReRJhElbAjv7iLG2nds\"\u003e\u003cimg width=\"620\" height=\"470\" alt=\"grafik\" src=\"https://private-user-images.githubusercontent.com/121725437/620399336-5d085162-6e20-4bb3-a952-b72d406892bd.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjIwMzk5MzM2LTVkMDg1MTYyLTZlMjAtNGJiMy1hOTUyLWI3MmQ0MDY4OTJiZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00ZTUxMzJlMzAwMzE1MzczYWRmOTgzZmVjNmY0Njk1MTcxYmZjMzczYTk2ZTc1NTg5MGYyNDkxM2Q0YzYzYjRjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.kvsQIxBkqPNE7kAboUoRNJZyReRJhElbAjv7iLG2nds\" style=\"max-width: 100%; height: auto; max-height: 470px;; aspect-ratio: 620 / 470; background-color: var(--bgColor-muted); border-radius: 6px\" class=\"js-gh-image-fallback\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://private-user-images.githubusercontent.com/121725437/617656137-0eb99537-3643-44b5-a4f5-a3ecc3d5efd3.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjE3NjU2MTM3LTBlYjk5NTM3LTM2NDMtNDRiNS1hNGY1LWEzZWNjM2Q1ZWZkMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01ZmZhMjI4MDMyZTE2ZmQ0YjM3YzY3MWExZWIxMzNjNTI3MjM5NWE4ZTE2NTViNWQ3Njc3ZTRiNjU4YzI0YjgxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.h1cr1ihBmOOP2JgDWQDp2QcGM8J62ow3O0UFDw--q4A\"\u003e\u003cimg width=\"520\" height=\"353\" alt=\"grafik\" src=\"https://private-user-images.githubusercontent.com/121725437/617656137-0eb99537-3643-44b5-a4f5-a3ecc3d5efd3.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjE3NjU2MTM3LTBlYjk5NTM3LTM2NDMtNDRiNS1hNGY1LWEzZWNjM2Q1ZWZkMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01ZmZhMjI4MDMyZTE2ZmQ0YjM3YzY3MWExZWIxMzNjNTI3MjM5NWE4ZTE2NTViNWQ3Njc3ZTRiNjU4YzI0YjgxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.h1cr1ihBmOOP2JgDWQDp2QcGM8J62ow3O0UFDw--q4A\" style=\"max-width: 100%; height: auto; max-height: 353px;; aspect-ratio: 520 / 353; background-color: var(--bgColor-muted); border-radius: 6px\" class=\"js-gh-image-fallback\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://private-user-images.githubusercontent.com/121725437/617656446-caee9f1d-9609-41fb-b16b-bf744374f555.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjE3NjU2NDQ2LWNhZWU5ZjFkLTk2MDktNDFmYi1iMTZiLWJmNzQ0Mzc0ZjU1NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hNDJmMzhiMTQyNTEyNDJkNzY4MzZlOWEwM2VjYTEzYzcwZWQ5ZThhNTQ5ZDBiNzViNzJkN2MxMmU5NGRlMTk0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.aAWeIEfxMHUrqeR8ElYBZSM1kEt9CPdDbMy5YD-yGL4\"\u003e\u003cimg width=\"760\" height=\"430\" alt=\"grafik\" src=\"https://private-user-images.githubusercontent.com/121725437/617656446-caee9f1d-9609-41fb-b16b-bf744374f555.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTg1MDgsIm5iZiI6MTc4Mzg1ODIwOCwicGF0aCI6Ii8xMjE3MjU0MzcvNjE3NjU2NDQ2LWNhZWU5ZjFkLTk2MDktNDFmYi1iMTZiLWJmNzQ0Mzc0ZjU1NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcxMlQxMjEwMDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hNDJmMzhiMTQyNTEyNDJkNzY4MzZlOWEwM2VjYTEzYzcwZWQ5ZThhNTQ5ZDBiNzViNzJkN2MxMmU5NGRlMTk0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.aAWeIEfxMHUrqeR8ElYBZSM1kEt9CPdDbMy5YD-yGL4\" style=\"max-width: 100%; height: auto; max-height: 430px;; aspect-ratio: 760 / 430; background-color: var(--bgColor-muted); border-radius: 6px\" class=\"js-gh-image-fallback\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e🚀 Features\u003c/h2\u003e\u003ca id=\"user-content--features\" class=\"anchor\" aria-label=\"Permalink: 🚀 Features\" href=\"#-features\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eVersioned Backups\u003c/h3\u003e\u003ca id=\"user-content-versioned-backups\" class=\"anchor\" aria-label=\"Permalink: Versioned Backups\" href=\"#versioned-backups\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCreate structured backups with version numbers\u003c/li\u003e\n\u003cli\u003eSupports manual input, auto-increment, and timestamp-based versions\u003c/li\u003e\n\u003cli\u003eRemembers manually adjusted versions per source → target pair\u003c/li\u003e\n\u003cli\u003eDetects existing versions and suggests the next logical version\u003c/li\u003e\n\u003cli\u003eUpdated versions are stored only after a successful backup\u003c/li\u003e\n\u003cli\u003eCanceling a backup does not advance or persist the version number\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMultiple Backup Configurations\u003c/h3\u003e\u003ca id=\"user-content-multiple-backup-configurations\" class=\"anchor\" aria-label=\"Permalink: Multiple Backup Configurations\" href=\"#multiple-backup-configurations\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eConfigure multiple source → target pairs\u003c/li\u003e\n\u003cli\u003eEnable or disable each entry individually\u003c/li\u003e\n\u003cli\u003eEdit source and target paths directly in the main window\u003c/li\u003e\n\u003cli\u003eBrowse folders directly from the main table\u003c/li\u003e\n\u003cli\u003eConfigure versioning, retention, source cleanup, timers, and error handling per backup pair\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ePer-Entry Exclusions\u003c/h3\u003e\u003ca id=\"user-content-per-entry-exclusions\" class=\"anchor\" aria-label=\"Permalink: Per-Entry Exclusions\" href=\"#per-entry-exclusions\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDefine excluded files or folders per backup entry\u003c/li\u003e\n\u003cli\u003eEdit exclusions directly from the main window or Settings\u003c/li\u003e\n\u003cli\u003eAdd and remove exclusions through a table-based editor\u003c/li\u003e\n\u003cli\u003eConfirmation prompt before removing existing exclusion entries\u003c/li\u003e\n\u003cli\u003eSupports source-relative paths and glob-style patterns\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003ePattern behavior:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003e.sav\u003c/code\u003e and \u003ccode\u003e*.sav\u003c/code\u003e match \u003ccode\u003e.sav\u003c/code\u003e files\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e*\u003c/code\u003e matches characters within one path level\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e**\u003c/code\u003e matches any number of folder levels\u003c/li\u003e\n\u003cli\u003eA trailing \u003ccode\u003e\\\u003c/code\u003e restricts the rule to folders\u003c/li\u003e\n\u003cli\u003eMatching is case-insensitive\u003c/li\u003e\n\u003cli\u003eWildcard-only exclusions are rejected for safety\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBackup Retention\u003c/h3\u003e\u003ca id=\"user-content-backup-retention\" class=\"anchor\" aria-label=\"Permalink: Backup Retention\" href=\"#backup-retention\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eConfigure retention separately for every backup pair\u003c/li\u003e\n\u003cli\u003eKeep the newest number of backups\u003c/li\u003e\n\u003cli\u003eKeep backups for a configured number of days\u003c/li\u003e\n\u003cli\u003eCombine retention rules using \u003ccode\u003eAND\u003c/code\u003e or \u003ccode\u003eOR\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eProtect tagged backups such as \u003ccode\u003eFinal\u003c/code\u003e or \u003ccode\u003eOK\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ePreview affected backups before permanent deletion\u003c/li\u003e\n\u003cli\u003eChoose between:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCanceling the complete backup\u003c/li\u003e\n\u003cli\u003eContinuing without deleting old backups\u003c/li\u003e\n\u003cli\u003eCreating the backup and deleting confirmed retention candidates\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDestructive actions are clearly highlighted\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSource Cleanup\u003c/h3\u003e\u003ca id=\"user-content-source-cleanup\" class=\"anchor\" aria-label=\"Permalink: Source Cleanup\" href=\"#source-cleanup\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eExperimental feature for removing old source files after a successful backup\u003c/li\u003e\n\u003cli\u003eMust be enabled globally and per backup pair\u003c/li\u003e\n\u003cli\u003eSupports multiple rules, for example:\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\".sav\nG1R*.sav\nSaved\\SaveGames\\.sav\nSaved\\SaveGames\\G1R*.sav\"\u003e\u003cpre lang=\"text\" class=\"notranslate\"\u003e\u003ccode\u003e.sav\nG1R*.sav\nSaved\\SaveGames\\.sav\nSaved\\SaveGames\\G1R*.sav\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003c/li\u003e\n\u003cli\u003eKeep the newest files or delete files older than a selected date\u003c/li\u003e\n\u003cli\u003eShows a deletion preview before cleanup\u003c/li\u003e\n\u003cli\u003eDirectories are never deleted\u003c/li\u003e\n\u003cli\u003eCleanup does not run if the backup fails or is canceled\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFlexible Backup Timer\u003c/h3\u003e\u003ca id=\"user-content-flexible-backup-timer\" class=\"anchor\" aria-label=\"Permalink: Flexible Backup Timer\" href=\"#flexible-backup-timer\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDefine intervals like \u003ccode\u003e30s\u003c/code\u003e, \u003ccode\u003e5m\u003c/code\u003e, or \u003ccode\u003e1h\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eConfigure a global timer or a custom timer per backup pair\u003c/li\u003e\n\u003cli\u003eLive countdown visible:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIn the main UI\u003c/li\u003e\n\u003cli\u003eIn the window title\u003c/li\u003e\n\u003cli\u003eIn the system tray tooltip\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSilent Backup Progress\u003c/h3\u003e\u003ca id=\"user-content-silent-backup-progress\" class=\"anchor\" aria-label=\"Permalink: Silent Backup Progress\" href=\"#silent-backup-progress\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eBackup progress is displayed directly inside the main table\u003c/li\u003e\n\u003cli\u003eSource-related operations fill the source-directory cell\u003c/li\u003e\n\u003cli\u003eTarget-related operations fill the target-directory cell\u003c/li\u003e\n\u003cli\u003eThe timer column temporarily shows the current percentage\u003c/li\u003e\n\u003cli\u003eIndeterminate phases use a subtle moving progress fill\u003c/li\u003e\n\u003cli\u003eThe normal timer value is restored after completion\u003c/li\u003e\n\u003cli\u003eMultiple backup pairs can show progress independently\u003c/li\u003e\n\u003cli\u003eNo additional progress window or focus change is required\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAutomatic Background Backups\u003c/h3\u003e\u003ca id=\"user-content-automatic-background-backups\" class=\"anchor\" aria-label=\"Permalink: Automatic Background Backups\" href=\"#automatic-background-backups\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFile and ZIP creation runs outside the UI thread\u003c/li\u003e\n\u003cli\u003eWorks while you use other applications\u003c/li\u003e\n\u003cli\u003eAutomatic backups remain silent unless user interaction is required\u003c/li\u003e\n\u003cli\u003eDestination-conflict and retention confirmations can still require interaction\u003c/li\u003e\n\u003cli\u003eOptional minimize-to-system-tray behavior\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eStatus \u0026amp; Feedback System\u003c/h3\u003e\u003ca id=\"user-content-status--feedback-system\" class=\"anchor\" aria-label=\"Permalink: Status \u0026amp; Feedback System\" href=\"#status--feedback-system\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePer-entry status indicator:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e🟢 OK\u003c/li\u003e\n\u003cli\u003e🟡 Warning\u003c/li\u003e\n\u003cli\u003e🔴 Error\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eHover for quick details:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eLast backup time\u003c/li\u003e\n\u003cli\u003eError messages\u003c/li\u003e\n\u003cli\u003eSkipped-file summary\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eClick the info icon to open a copyable and scrollable details dialog\u003c/li\u003e\n\u003cli\u003eSkipped files are listed individually when available\u003c/li\u003e\n\u003cli\u003eSkipped files do not automatically mark a successful backup as failed\u003c/li\u003e\n\u003cli\u003eRetention is indicated by a red \u003ccode\u003eR\u003c/code\u003e marker\u003c/li\u003e\n\u003cli\u003eSource cleanup is indicated by a cyan \u003ccode\u003eC\u003c/code\u003e marker\u003c/li\u003e\n\u003cli\u003eBoth markers are displayed when both features are active\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eZIP Support\u003c/h3\u003e\u003ca id=\"user-content-zip-support\" class=\"anchor\" aria-label=\"Permalink: ZIP Support\" href=\"#zip-support\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eOptional compression into \u003ccode\u003e.zip\u003c/code\u003e archives\u003c/li\u003e\n\u003cli\u003eUses the same versioning logic as folder-based backups\u003c/li\u003e\n\u003cli\u003eTemporary ZIP files are finalized only after successful creation\u003c/li\u003e\n\u003cli\u003eNo additional metadata sidecar files are created\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eRobust Error Handling\u003c/h3\u003e\u003ca id=\"user-content-robust-error-handling\" class=\"anchor\" aria-label=\"Permalink: Robust Error Handling\" href=\"#robust-error-handling\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eOption to ignore locked or in-use files\u003c/li\u003e\n\u003cli\u003eBackup can continue without interruption\u003c/li\u003e\n\u003cli\u003eSkipped files are reported per backup entry\u003c/li\u003e\n\u003cli\u003eSkipped-file summaries distinguish between files and folders\u003c/li\u003e\n\u003cli\u003eFailed or canceled backups do not trigger source cleanup\u003c/li\u003e\n\u003cli\u003eUseful for projects with temporary build files, IDE locks, or active services\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSystem Tray Integration\u003c/h3\u003e\u003ca id=\"user-content-system-tray-integration\" class=\"anchor\" aria-label=\"Permalink: System Tray Integration\" href=\"#system-tray-integration\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eMinimize to tray\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eTray tooltip shows the next scheduled backup:\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eNext backup in 2 minutes (19:52)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eManual and automatic backups can show tray notifications\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eCanceled backups are reported as canceled instead of completed\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eModernized UI\u003c/h3\u003e\u003ca id=\"user-content-modernized-ui\" class=\"anchor\" aria-label=\"Permalink: Modernized UI\" href=\"#modernized-ui\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eClean, compact main window\u003c/li\u003e\n\u003cli\u003eToolbar with quick actions:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eExit\u003c/li\u003e\n\u003cli\u003eAdd path\u003c/li\u003e\n\u003cli\u003eRemove path\u003c/li\u003e\n\u003cli\u003eSettings\u003c/li\u003e\n\u003cli\u003eAbout\u003c/li\u003e\n\u003cli\u003eBackup\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eModern themed dialogs and scrollbars\u003c/li\u003e\n\u003cli\u003eClear visual distinction between normal and destructive actions\u003c/li\u003e\n\u003cli\u003eMain window initially shows only a small number of rows\u003c/li\u003e\n\u003cli\u003eWindow remains resizable\u003c/li\u003e\n\u003cli\u003eResize indicator included\u003c/li\u003e\n\u003cli\u003eTooltips and contextual help added for important controls\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e🧩 How It Works\u003c/h2\u003e\u003ca id=\"user-content--how-it-works\" class=\"anchor\" aria-label=\"Permalink: 🧩 How It Works\" href=\"#-how-it-works\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003eConfigure one or more \u003cstrong\u003esource → target\u003c/strong\u003e paths\u003c/li\u003e\n\u003cli\u003eOptionally define exclusions per backup pair\u003c/li\u003e\n\u003cli\u003eChoose a versioning method\u003c/li\u003e\n\u003cli\u003eOptionally configure:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRetention\u003c/li\u003e\n\u003cli\u003eSource cleanup\u003c/li\u003e\n\u003cli\u003eCustom backup timer\u003c/li\u003e\n\u003cli\u003eError handling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eClick \u003cstrong\u003eBackup\u003c/strong\u003e or let the configured timer start it automatically\u003c/li\u003e\n\u003cli\u003eThe app will:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eValidate the source and target paths\u003c/li\u003e\n\u003cli\u003eCreate a versioned directory or ZIP archive\u003c/li\u003e\n\u003cli\u003eReport progress directly in the backup-pair row\u003c/li\u003e\n\u003cli\u003eSkip problematic files if configured\u003c/li\u003e\n\u003cli\u003ePreview Source Cleanup and Retention candidates before deletion\u003c/li\u003e\n\u003cli\u003eAllow canceling the backup or continuing without deletion\u003c/li\u003e\n\u003cli\u003eApply confirmed Source Cleanup only after a successful backup\u003c/li\u003e\n\u003cli\u003eApply confirmed Retention after backup creation\u003c/li\u003e\n\u003cli\u003eStore the final backup status per entry\u003c/li\u003e\n\u003cli\u003ePersist the selected version only after success\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e⚙️ Settings Overview\u003c/h2\u003e\u003ca id=\"user-content-️-settings-overview\" class=\"anchor\" aria-label=\"Permalink: ⚙️ Settings Overview\" href=\"#️-settings-overview\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBackup Timer\u003c/h3\u003e\u003ca id=\"user-content-backup-timer\" class=\"anchor\" aria-label=\"Permalink: Backup Timer\" href=\"#backup-timer\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eFlexible input:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003e30s\u003c/code\u003e → 30 seconds\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e5m\u003c/code\u003e → 5 minutes\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e1h\u003c/code\u003e → 1 hour\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e15\u003c/code\u003e → 15 minutes by default\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDefault Versioning\u003c/h3\u003e\u003ca id=\"user-content-default-versioning\" class=\"anchor\" aria-label=\"Permalink: Default Versioning\" href=\"#default-versioning\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eStarting version or pattern, for example:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003enone\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ev1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eyyyy-MM-dd\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eyyyyMMdd\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eyyyy-MM-dd-HH-mm\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eyyyyMMddHHmm\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAuto Increment\u003c/h3\u003e\u003ca id=\"user-content-auto-increment\" class=\"anchor\" aria-label=\"Permalink: Auto Increment\" href=\"#auto-increment\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAutomatically increases compatible version numbers\u003c/li\u003e\n\u003cli\u003eUpdated versions are saved only after a successful backup\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eRetention\u003c/h3\u003e\u003ca id=\"user-content-retention\" class=\"anchor\" aria-label=\"Permalink: Retention\" href=\"#retention\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eKeep the latest configured number of backups\u003c/li\u003e\n\u003cli\u003eKeep backups for a configured number of days\u003c/li\u003e\n\u003cli\u003eCombine enabled rules with \u003ccode\u003eAND\u003c/code\u003e or \u003ccode\u003eOR\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eExclude tagged backups from deletion\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSource Cleanup\u003c/h3\u003e\u003ca id=\"user-content-source-cleanup-1\" class=\"anchor\" aria-label=\"Permalink: Source Cleanup\" href=\"#source-cleanup-1\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDelete only explicitly configured file types\u003c/li\u003e\n\u003cli\u003eRestrict cleanup to specific source-relative folders\u003c/li\u003e\n\u003cli\u003eKeep the newest files or delete files older than a selected date\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMinimize to Systray\u003c/h3\u003e\u003ca id=\"user-content-minimize-to-systray\" class=\"anchor\" aria-label=\"Permalink: Minimize to Systray\" href=\"#minimize-to-systray\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eKeeps the app running quietly in the background\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eIgnore Copy Errors\u003c/h3\u003e\u003ca id=\"user-content-ignore-copy-errors\" class=\"anchor\" aria-label=\"Permalink: Ignore Copy Errors\" href=\"#ignore-copy-errors\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSkips locked or problematic files instead of stopping the backup\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eZIP Backups\u003c/h3\u003e\u003ca id=\"user-content-zip-backups\" class=\"anchor\" aria-label=\"Permalink: ZIP Backups\" href=\"#zip-backups\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eEnable to create one \u003ccode\u003e.zip\u003c/code\u003e archive per backup\u003c/li\u003e\n\u003cli\u003eDisable to create a versioned backup directory\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ePer-Path Exclusions\u003c/h3\u003e\u003ca id=\"user-content-per-path-exclusions\" class=\"anchor\" aria-label=\"Permalink: Per-Path Exclusions\" href=\"#per-path-exclusions\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eExclude folders or files from individual backup entries\u003c/li\u003e\n\u003cli\u003eSupports simple names, file extensions, relative paths, \u003ccode\u003e*\u003c/code\u003e, and \u003ccode\u003e**\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e🖥️ Runtime Requirement\u003c/h2\u003e\u003ca id=\"user-content-️-runtime-requirement\" class=\"anchor\" aria-label=\"Permalink: 🖥️ Runtime Requirement\" href=\"#️-runtime-requirement\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe published application targets Windows x64 and requires the .NET 8 Desktop Runtime because the project is framework-dependent (\u003ccode\u003eSelfContained=false\u003c/code\u003e).\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eApplication settings are stored in:\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"\u0026lt;application directory\u0026gt;\\Settings\\EasyVersionBackup.settings.json\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003e\u0026lt;application directory\u0026gt;\\Settings\\EasyVersionBackup.settings.json\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe application no longer creates \u003ccode\u003e.evbmeta\u003c/code\u003e sidecar files beside ZIP backups.\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e💡 Use Cases\u003c/h2\u003e\u003ca id=\"user-content--use-cases\" class=\"anchor\" aria-label=\"Permalink: 💡 Use Cases\" href=\"#-use-cases\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eBackup Visual Studio projects\u003c/li\u003e\n\u003cli\u003eCreate safe snapshots before refactoring\u003c/li\u003e\n\u003cli\u003ePreserve game saves while automatically removing older save files\u003c/li\u003e\n\u003cli\u003eKeep only a defined number of recent backups\u003c/li\u003e\n\u003cli\u003eProtect release backups using retention tags\u003c/li\u003e\n\u003cli\u003eSave versions before deployments or releases\u003c/li\u003e\n\u003cli\u003eRun automatic backups while working\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/article\u003e","richTextTruncated":false,"renderedFileInfo":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"Important Safety Notice","kind":"section_2","ident_start":159,"ident_end":182,"extent_start":156,"extent_end":601,"fully_qualified_name":"Important Safety Notice","ident_utf16":{"start":{"line_number":5,"utf16_col":3},"end":{"line_number":5,"utf16_col":26}},"extent_utf16":{"start":{"line_number":5,"utf16_col":0},"end":{"line_number":17,"utf16_col":0}}},{"name":"EasyVersionBackup","kind":"section_1","ident_start":603,"ident_end":620,"extent_start":601,"extent_end":10433,"fully_qualified_name":"EasyVersionBackup","ident_utf16":{"start":{"line_number":17,"utf16_col":2},"end":{"line_number":17,"utf16_col":19}},"extent_utf16":{"start":{"line_number":17,"utf16_col":0},"end":{"line_number":358,"utf16_col":0}}},{"name":"❤️ Support","kind":"section_2","ident_start":1045,"ident_end":1059,"extent_start":1042,"extent_end":2316,"fully_qualified_name":"❤️ Support","ident_utf16":{"start":{"line_number":30,"utf16_col":3},"end":{"line_number":30,"utf16_col":13}},"extent_utf16":{"start":{"line_number":30,"utf16_col":0},"end":{"line_number":94,"utf16_col":0}}},{"name":"🚀 Features","kind":"section_2","ident_start":2319,"ident_end":2332,"extent_start":2316,"extent_end":7544,"fully_qualified_name":"🚀 Features","ident_utf16":{"start":{"line_number":94,"utf16_col":3},"end":{"line_number":94,"utf16_col":14}},"extent_utf16":{"start":{"line_number":94,"utf16_col":0},"end":{"line_number":251,"utf16_col":0}}},{"name":"Versioned Backups","kind":"section_3","ident_start":2338,"ident_end":2355,"extent_start":2334,"extent_end":2738,"fully_qualified_name":"Versioned Backups","ident_utf16":{"start":{"line_number":96,"utf16_col":4},"end":{"line_number":96,"utf16_col":21}},"extent_utf16":{"start":{"line_number":96,"utf16_col":0},"end":{"line_number":105,"utf16_col":0}}},{"name":"Multiple Backup Configurations","kind":"section_3","ident_start":2742,"ident_end":2772,"extent_start":2738,"extent_end":3063,"fully_qualified_name":"Multiple Backup Configurations","ident_utf16":{"start":{"line_number":105,"utf16_col":4},"end":{"line_number":105,"utf16_col":34}},"extent_utf16":{"start":{"line_number":105,"utf16_col":0},"end":{"line_number":113,"utf16_col":0}}},{"name":"Per-Entry Exclusions","kind":"section_3","ident_start":3067,"ident_end":3087,"extent_start":3063,"extent_end":3661,"fully_qualified_name":"Per-Entry Exclusions","ident_utf16":{"start":{"line_number":113,"utf16_col":4},"end":{"line_number":113,"utf16_col":24}},"extent_utf16":{"start":{"line_number":113,"utf16_col":0},"end":{"line_number":131,"utf16_col":0}}},{"name":"Backup Retention","kind":"section_3","ident_start":3665,"ident_end":3681,"extent_start":3661,"extent_end":4180,"fully_qualified_name":"Backup Retention","ident_utf16":{"start":{"line_number":131,"utf16_col":4},"end":{"line_number":131,"utf16_col":20}},"extent_utf16":{"start":{"line_number":131,"utf16_col":0},"end":{"line_number":145,"utf16_col":0}}},{"name":"Source Cleanup","kind":"section_3","ident_start":4184,"ident_end":4198,"extent_start":4180,"extent_end":4650,"fully_qualified_name":"Source Cleanup","ident_utf16":{"start":{"line_number":145,"utf16_col":4},"end":{"line_number":145,"utf16_col":18}},"extent_utf16":{"start":{"line_number":145,"utf16_col":0},"end":{"line_number":161,"utf16_col":0}}},{"name":"Flexible Backup Timer","kind":"section_3","ident_start":4654,"ident_end":4675,"extent_start":4650,"extent_end":4884,"fully_qualified_name":"Flexible Backup Timer","ident_utf16":{"start":{"line_number":161,"utf16_col":4},"end":{"line_number":161,"utf16_col":25}},"extent_utf16":{"start":{"line_number":161,"utf16_col":0},"end":{"line_number":170,"utf16_col":0}}},{"name":"Silent Backup Progress","kind":"section_3","ident_start":4888,"ident_end":4910,"extent_start":4884,"extent_end":5380,"fully_qualified_name":"Silent Backup Progress","ident_utf16":{"start":{"line_number":170,"utf16_col":4},"end":{"line_number":170,"utf16_col":26}},"extent_utf16":{"start":{"line_number":170,"utf16_col":0},"end":{"line_number":181,"utf16_col":0}}},{"name":"Automatic Background Backups","kind":"section_3","ident_start":5384,"ident_end":5412,"extent_start":5380,"extent_end":5702,"fully_qualified_name":"Automatic Background Backups","ident_utf16":{"start":{"line_number":181,"utf16_col":4},"end":{"line_number":181,"utf16_col":32}},"extent_utf16":{"start":{"line_number":181,"utf16_col":0},"end":{"line_number":189,"utf16_col":0}}},{"name":"Status \u0026 Feedback System","kind":"section_3","ident_start":5706,"ident_end":5730,"extent_start":5702,"extent_end":6252,"fully_qualified_name":"Status \u0026 Feedback System","ident_utf16":{"start":{"line_number":189,"utf16_col":4},"end":{"line_number":189,"utf16_col":28}},"extent_utf16":{"start":{"line_number":189,"utf16_col":0},"end":{"line_number":206,"utf16_col":0}}},{"name":"ZIP Support","kind":"section_3","ident_start":6256,"ident_end":6267,"extent_start":6252,"extent_end":6489,"fully_qualified_name":"ZIP Support","ident_utf16":{"start":{"line_number":206,"utf16_col":4},"end":{"line_number":206,"utf16_col":15}},"extent_utf16":{"start":{"line_number":206,"utf16_col":0},"end":{"line_number":213,"utf16_col":0}}},{"name":"Robust Error Handling","kind":"section_3","ident_start":6493,"ident_end":6514,"extent_start":6489,"extent_end":6850,"fully_qualified_name":"Robust Error Handling","ident_utf16":{"start":{"line_number":213,"utf16_col":4},"end":{"line_number":213,"utf16_col":25}},"extent_utf16":{"start":{"line_number":213,"utf16_col":0},"end":{"line_number":222,"utf16_col":0}}},{"name":"System Tray Integration","kind":"section_3","ident_start":6854,"ident_end":6877,"extent_start":6850,"extent_end":7110,"fully_qualified_name":"System Tray Integration","ident_utf16":{"start":{"line_number":222,"utf16_col":4},"end":{"line_number":222,"utf16_col":27}},"extent_utf16":{"start":{"line_number":222,"utf16_col":0},"end":{"line_number":232,"utf16_col":0}}},{"name":"Modernized UI","kind":"section_3","ident_start":7114,"ident_end":7127,"extent_start":7110,"extent_end":7544,"fully_qualified_name":"Modernized UI","ident_utf16":{"start":{"line_number":232,"utf16_col":4},"end":{"line_number":232,"utf16_col":17}},"extent_utf16":{"start":{"line_number":232,"utf16_col":0},"end":{"line_number":251,"utf16_col":0}}},{"name":"🧩 How It Works","kind":"section_2","ident_start":7547,"ident_end":7564,"extent_start":7544,"extent_end":8432,"fully_qualified_name":"🧩 How It Works","ident_utf16":{"start":{"line_number":251,"utf16_col":3},"end":{"line_number":251,"utf16_col":18}},"extent_utf16":{"start":{"line_number":251,"utf16_col":0},"end":{"line_number":276,"utf16_col":0}}},{"name":"⚙️ Settings Overview","kind":"section_2","ident_start":8435,"ident_end":8459,"extent_start":8432,"extent_end":9713,"fully_qualified_name":"⚙️ Settings Overview","ident_utf16":{"start":{"line_number":276,"utf16_col":3},"end":{"line_number":276,"utf16_col":23}},"extent_utf16":{"start":{"line_number":276,"utf16_col":0},"end":{"line_number":337,"utf16_col":0}}},{"name":"Backup Timer","kind":"section_3","ident_start":8465,"ident_end":8477,"extent_start":8461,"extent_end":8592,"fully_qualified_name":"Backup Timer","ident_utf16":{"start":{"line_number":278,"utf16_col":4},"end":{"line_number":278,"utf16_col":16}},"extent_utf16":{"start":{"line_number":278,"utf16_col":0},"end":{"line_number":287,"utf16_col":0}}},{"name":"Default Versioning","kind":"section_3","ident_start":8596,"ident_end":8614,"extent_start":8592,"extent_end":8752,"fully_qualified_name":"Default Versioning","ident_utf16":{"start":{"line_number":287,"utf16_col":4},"end":{"line_number":287,"utf16_col":22}},"extent_utf16":{"start":{"line_number":287,"utf16_col":0},"end":{"line_number":299,"utf16_col":0}}},{"name":"Auto Increment","kind":"section_3","ident_start":8756,"ident_end":8770,"extent_start":8752,"extent_end":8886,"fully_qualified_name":"Auto Increment","ident_utf16":{"start":{"line_number":299,"utf16_col":4},"end":{"line_number":299,"utf16_col":18}},"extent_utf16":{"start":{"line_number":299,"utf16_col":0},"end":{"line_number":304,"utf16_col":0}}},{"name":"Retention","kind":"section_3","ident_start":8890,"ident_end":8899,"extent_start":8886,"extent_end":9078,"fully_qualified_name":"Retention","ident_utf16":{"start":{"line_number":304,"utf16_col":4},"end":{"line_number":304,"utf16_col":13}},"extent_utf16":{"start":{"line_number":304,"utf16_col":0},"end":{"line_number":311,"utf16_col":0}}},{"name":"Source Cleanup","kind":"section_3","ident_start":9082,"ident_end":9096,"extent_start":9078,"extent_end":9268,"fully_qualified_name":"Source Cleanup","ident_utf16":{"start":{"line_number":311,"utf16_col":4},"end":{"line_number":311,"utf16_col":18}},"extent_utf16":{"start":{"line_number":311,"utf16_col":0},"end":{"line_number":317,"utf16_col":0}}},{"name":"Minimize to Systray","kind":"section_3","ident_start":9272,"ident_end":9291,"extent_start":9268,"extent_end":9344,"fully_qualified_name":"Minimize to Systray","ident_utf16":{"start":{"line_number":317,"utf16_col":4},"end":{"line_number":317,"utf16_col":23}},"extent_utf16":{"start":{"line_number":317,"utf16_col":0},"end":{"line_number":321,"utf16_col":0}}},{"name":"Ignore Copy Errors","kind":"section_3","ident_start":9348,"ident_end":9366,"extent_start":9344,"extent_end":9436,"fully_qualified_name":"Ignore Copy Errors","ident_utf16":{"start":{"line_number":321,"utf16_col":4},"end":{"line_number":321,"utf16_col":22}},"extent_utf16":{"start":{"line_number":321,"utf16_col":0},"end":{"line_number":325,"utf16_col":0}}},{"name":"ZIP Backups","kind":"section_3","ident_start":9440,"ident_end":9451,"extent_start":9436,"extent_end":9552,"fully_qualified_name":"ZIP Backups","ident_utf16":{"start":{"line_number":325,"utf16_col":4},"end":{"line_number":325,"utf16_col":15}},"extent_utf16":{"start":{"line_number":325,"utf16_col":0},"end":{"line_number":330,"utf16_col":0}}},{"name":"Per-Path Exclusions","kind":"section_3","ident_start":9556,"ident_end":9575,"extent_start":9552,"extent_end":9713,"fully_qualified_name":"Per-Path Exclusions","ident_utf16":{"start":{"line_number":330,"utf16_col":4},"end":{"line_number":330,"utf16_col":23}},"extent_utf16":{"start":{"line_number":330,"utf16_col":0},"end":{"line_number":337,"utf16_col":0}}},{"name":"🖥️ Runtime Requirement","kind":"section_2","ident_start":9716,"ident_end":9743,"extent_start":9713,"extent_end":10092,"fully_qualified_name":"🖥️ Runtime Requirement","ident_utf16":{"start":{"line_number":337,"utf16_col":3},"end":{"line_number":337,"utf16_col":26}},"extent_utf16":{"start":{"line_number":337,"utf16_col":0},"end":{"line_number":349,"utf16_col":0}}},{"name":"💡 Use Cases","kind":"section_2","ident_start":10095,"ident_end":10109,"extent_start":10092,"extent_end":10433,"fully_qualified_name":"💡 Use Cases","ident_utf16":{"start":{"line_number":349,"utf16_col":3},"end":{"line_number":349,"utf16_col":15}},"extent_utf16":{"start":{"line_number":349,"utf16_col":0},"end":{"line_number":358,"utf16_col":0}}}]}},"codeViewLayoutRoute":{"repo":{"id":1201455577,"defaultBranch":"master","name":"EasyVersionBackup","ownerLogin":"UncleRiot","currentUserCanPush":true,"isFork":false,"isEmpty":false,"createdAt":"2026-04-04T19:46:40.000+02:00","ownerAvatar":"https://avatars.githubusercontent.com/u/121725437?v=4","public":true,"private":false,"isOrgOwned":false},"currentUser":{"id":121725437,"login":"UncleRiot","userEmail":"dc@sentinel.de"},"uploadToken":"5IqWw3-xa9HoAqWFMbPVL3Eo56pZRrIPHW1SoWrE_5X-xenfDb2Pgeqo5ZlhMdac9q_opsMzUsk3OHIRf2vLuA","allShortcutsEnabled":true,"treeExpanded":true,"path":"README.md","symbolsExpanded":false,"refInfo":{"name":"master","listCacheKey":"v0:1783855338.0","canEdit":false,"currentOid":"90708f122063ca670197e7b8f1e0ce3cb41a6882"},"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-e47c88e0e1d9a6e9.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-46708daff7a1f480.js","githubDevUrl":"https://github.dev/"},"codeViewFileTreeLayoutRoute":{"fileTree":{"":{"items":[{"name":"Ressources","path":"Ressources","contentType":"directory"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":"AboutForm.cs","path":"AboutForm.cs","contentType":"file"},{"name":"AboutForm.resx","path":"AboutForm.resx","contentType":"file"},{"name":"AppSettings.cs","path":"AppSettings.cs","contentType":"file"},{"name":"ApplicationVersionHelper.cs","path":"ApplicationVersionHelper.cs","contentType":"file"},{"name":"AutoBackupIntervalHelper.cs","path":"AutoBackupIntervalHelper.cs","contentType":"file"},{"name":"BackupDialogHelper.cs","path":"BackupDialogHelper.cs","contentType":"file"},{"name":"BackupFileService.cs","path":"BackupFileService.cs","contentType":"file"},{"name":"BackupHelper.cs","path":"BackupHelper.cs","contentType":"file"},{"name":"BackupLogger.cs","path":"BackupLogger.cs","contentType":"file"},{"name":"BackupPairSettingsDialog.cs","path":"BackupPairSettingsDialog.cs","contentType":"file"},{"name":"BackupVersionItem.cs","path":"BackupVersionItem.cs","contentType":"file"},{"name":"CORRECTIONS.md","path":"CORRECTIONS.md","contentType":"file"},{"name":"DISCLAIMER.md","path":"DISCLAIMER.md","contentType":"file"},{"name":"EasyVersionBackup.csproj","path":"EasyVersionBackup.csproj","contentType":"file"},{"name":"EasyVersionBackup.sln","path":"EasyVersionBackup.sln","contentType":"file"},{"name":"ExclusionsDialog.cs","path":"ExclusionsDialog.cs","contentType":"file"},{"name":"FileErrorDialog.cs","path":"FileErrorDialog.cs","contentType":"file"},{"name":"FileErrorDialog.resx","path":"FileErrorDialog.resx","contentType":"file"},{"name":"Form1.Designer.cs","path":"Form1.Designer.cs","contentType":"file"},{"name":"Form1.cs","path":"Form1.cs","contentType":"file"},{"name":"Form1.resx","path":"Form1.resx","contentType":"file"},{"name":"LICENSE.txt","path":"LICENSE.txt","contentType":"file"},{"name":"ModernBackupInfoDialog.cs","path":"ModernBackupInfoDialog.cs","contentType":"file"},{"name":"ModernConfirmationDialog.cs","path":"ModernConfirmationDialog.cs","contentType":"file"},{"name":"ModernFolderBrowserDialog.cs","path":"ModernFolderBrowserDialog.cs","contentType":"file"},{"name":"ModernMessageDialog.cs","path":"ModernMessageDialog.cs","contentType":"file"},{"name":"ModernSettings.cs","path":"ModernSettings.cs","contentType":"file"},{"name":"ModernTheme.cs","path":"ModernTheme.cs","contentType":"file"},{"name":"ModernWindowFrame.cs","path":"ModernWindowFrame.cs","contentType":"file"},{"name":"Program.cs","path":"Program.cs","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"SettingsStorage.cs","path":"SettingsStorage.cs","contentType":"file"},{"name":"SourceCleanupService.cs","path":"SourceCleanupService.cs","contentType":"file"},{"name":"SourceCleanupSettingsDialog.cs","path":"SourceCleanupSettingsDialog.cs","contentType":"file"},{"name":"SystemLogger.cs","path":"SystemLogger.cs","contentType":"file"},{"name":"ToolsHelper.cs","path":"ToolsHelper.cs","contentType":"file"},{"name":"VersionHelper.cs","path":"VersionHelper.cs","contentType":"file"},{"name":"VersionHelperGit.cs","path":"VersionHelperGit.cs","contentType":"file"},{"name":"VersionInputForm.Designer.cs","path":"VersionInputForm.Designer.cs","contentType":"file"},{"name":"VersionInputForm.cs","path":"VersionInputForm.cs","contentType":"file"},{"name":"VersionInputForm.resx","path":"VersionInputForm.resx","contentType":"file"},{"name":"VersionPatternHelper.cs","path":"VersionPatternHelper.cs","contentType":"file"}],"totalCount":45}},"fileTreeProcessingTime":11.843608,"foldersToFetch":[]},"codeViewBlobLayoutRoute":{"codeLineWrapEnabled":false,"refInfo":{"name":"master","listCacheKey":"v0:1783855338.0","canEdit":true,"refType":"branch","currentOid":"90708f122063ca670197e7b8f1e0ce3cb41a6882","canEditOnDefaultBranch":true,"fileExistsOnDefault":true},"path":"README.md","blob":{"copilotSWEAgentEnabled":false,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/UncleRiot/EasyVersionBackup/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":false},"displayName":"README.md","displayUrl":"https://github.com/UncleRiot/EasyVersionBackup/blob/master/README.md?raw=true","headerInfo":{"blobSize":"10.2 KB","deleteTooltip":"Delete this file","editTooltip":"Edit this file","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"a52925d","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2FUncleRiot%2FEasyVersionBackup%2Fblob%2Fmaster%2FREADME.md","isCSV":false,"isRichtext":true,"lineInfo":{"truncatedLoc":"358","truncatedSloc":"253"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"isIssueTemplate":false,"isDiscussionTemplate":false,"language":"Markdown","languageID":222,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/UncleRiot/EasyVersionBackup/blob/master/README.md","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/UncleRiot/EasyVersionBackup/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/UncleRiot/EasyVersionBackup/raw/refs/heads/master/README.md","renderImageOrRaw":false,"shortPath":null,"symbolsEnabled":true,"tabSize":4,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null},"copilotInfo":{"documentationUrl":"https://docs.github.com/copilot/overview-of-github-copilot/about-github-copilot-for-individuals","notices":{"codeViewPopover":{"dismissed":false,"dismissPath":"/settings/dismiss-notice/code_view_copilot_popover"}},"userAccess":{"hasSubscriptionEnded":false,"orgHasCFBAccess":false,"userHasCFIAccess":false,"userHasOrgs":false,"userIsOrgAdmin":false,"userIsOrgMember":false,"business":null,"featureRequestInfo":null}},"copilotAccessAllowed":false,"copilotSpacesEnabled":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"isMarketplaceEnabled":true},"codeViewBlobLayoutRoute.StyledBlob":{"rawLines":["\u003e [!WARNING]","\u003e This software can permanently delete source and destination data.","\u003e Read the [Data-Loss Warning and Disclaimer](DISCLAIMER.md) before use.","","","## Important Safety Notice","","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](https://github.com/UncleRiot/EasyVersionBackup/wiki) for detailed configuration, restore instructions, limitations, and safety information.","","\u003cbr\u003e","\u003cbr\u003e","","","# EasyVersionBackup","","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.","","\u003cbr\u003e","","---","","\u003cbr\u003e","","## ❤️ Support","","EasyVersionBackup is free to use.","If this tool saves you time, you can support development here:","","\u003ca href=\"https://ko-fi.com/uncleriot\"\u003e"," \u003cimg src=\"https://storage.ko-fi.com/cdn/kofi2.png?v=3\" height=\"36\" alt=\"Support EasyVersionBackup on Ko-fi\" /\u003e","\u003c/a\u003e","","\u003cbr\u003e","\u003cbr\u003e","","---","","\u003cbr\u003e","\u003cbr\u003e","","","\u003e [!IMPORTANT]","\u003e If Windows SmartScreen blocks the app, right-click the EXE → **Properties** → check **Unblock** → **Apply** → **OK**, then start it again.","\u003e","","\u003cbr\u003e","","---","","","Main-Window","","\u003cbr\u003e","\u003cimg width=\"956\" height=\"326\" alt=\"grafik\" src=\"https://github.com/user-attachments/assets/fa575d05-ad64-47d0-b571-23e36ca8c9a0\" /\u003e","\u003cbr\u003e","","","Backup Pair Settings","","\u003cbr\u003e","\u003cimg width=\"420\" height=\"545\" alt=\"grafik\" src=\"https://github.com/user-attachments/assets/1c40f1c8-8850-43b3-942b-96adca495d70\" /\u003e","\u003cbr\u003e","","","Source Cleanup","","\u003cbr\u003e","\u003cimg width=\"620\" height=\"470\" alt=\"grafik\" src=\"https://github.com/user-attachments/assets/5d085162-6e20-4bb3-a952-b72d406892bd\" /\u003e","\u003cbr\u003e","","\u003cbr\u003e","\u003cimg width=\"520\" height=\"353\" alt=\"grafik\" src=\"https://github.com/user-attachments/assets/0eb99537-3643-44b5-a4f5-a3ecc3d5efd3\" /\u003e","\u003cbr\u003e","","\u003cbr\u003e","\u003cimg width=\"760\" height=\"430\" alt=\"grafik\" src=\"https://github.com/user-attachments/assets/caee9f1d-9609-41fb-b16b-bf744374f555\" /\u003e","\u003cbr\u003e","","","\u003cbr\u003e","\u003cbr\u003e","\u003cbr\u003e","","---","","","","## 🚀 Features","","### Versioned Backups","","- 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","","### Multiple Backup Configurations","","- 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","","### Per-Entry Exclusions","","- 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:","","- `.sav` and `*.sav` match `.sav` files","- `*` 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","","### Backup Retention","","- 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 `AND` or `OR`","- Protect tagged backups such as `Final` or `OK`","- 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","","### Source Cleanup","","- Experimental feature for removing old source files after a successful backup","- Must be enabled globally and per backup pair","- Supports multiple rules, for example:"," ```text"," .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","","### Flexible Backup Timer","","- Define intervals like `30s`, `5m`, or `1h`","- 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","","### Silent Backup Progress","","- 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","","### Automatic Background Backups","","- 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","","### Status \u0026 Feedback System","","- 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 `R` marker","- Source cleanup is indicated by a cyan `C` marker","- Both markers are displayed when both features are active","","### ZIP Support","","- Optional compression into `.zip` archives","- 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","","### Robust Error Handling","","- 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","","### System Tray Integration","","- 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","","### Modernized UI","","- 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","","---","","## 🧩 How It Works","","1. Configure one or more **source → target** paths","2. Optionally define exclusions per backup pair","3. Choose a versioning method","4. Optionally configure:"," - Retention"," - Source cleanup"," - Custom backup timer"," - Error handling","5. Click **Backup** or let the configured timer start it automatically","6. 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","","---","","## ⚙️ Settings Overview","","### Backup Timer","","Flexible input:","","- `30s` → 30 seconds","- `5m` → 5 minutes","- `1h` → 1 hour","- `15` → 15 minutes by default","","### Default Versioning","","Starting version or pattern, for example:","","- `none`","- `v1.0`","- `1.0`","- `yyyy-MM-dd`","- `yyyyMMdd`","- `yyyy-MM-dd-HH-mm`","- `yyyyMMddHHmm`","","### Auto Increment","","- Automatically increases compatible version numbers","- Updated versions are saved only after a successful backup","","### Retention","","- Keep the latest configured number of backups","- Keep backups for a configured number of days","- Combine enabled rules with `AND` or `OR`","- Exclude tagged backups from deletion","","### Source Cleanup","","- 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","","### Minimize to Systray","","- Keeps the app running quietly in the background","","### Ignore Copy Errors","","- Skips locked or problematic files instead of stopping the backup","","### ZIP Backups","","- Enable to create one `.zip` archive per backup","- Disable to create a versioned backup directory","","### Per-Path Exclusions","","- Exclude folders or files from individual backup entries","- Supports simple names, file extensions, relative paths, `*`, and `**`","","---","","## 🖥️ Runtime Requirement","","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:",""," \u003capplication directory\u003e\\Settings\\EasyVersionBackup.settings.json","","The application no longer creates `.evbmeta` sidecar files beside ZIP backups.","","---","","## 💡 Use Cases","","- 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"],"stylingDirectives":null,"colorizedLines":["\u003cspan class=\"pl-ent\"\u003e\u003cspan class=\"pl-ent\"\u003e\u0026gt; \u003c/span\u003e\u003cspan class=\"pl-s\"\u003e[\u003c/span\u003e!WARNING\u003cspan class=\"pl-s\"\u003e]\u003c/span\u003e\u003c/span\u003e","\u003cspan class=\"pl-ent\"\u003e\u003cspan class=\"pl-ent\"\u003e\u0026gt; \u003c/span\u003eThis software can permanently delete source and destination data.\u003c/span\u003e","\u003cspan class=\"pl-ent\"\u003e\u003cspan class=\"pl-ent\"\u003e\u0026gt; \u003c/span\u003eRead the \u003cspan class=\"pl-s\"\u003e[\u003c/span\u003eData-Loss Warning and Disclaimer\u003cspan class=\"pl-s\"\u003e]\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-corl\"\u003eDISCLAIMER.md\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e)\u003c/span\u003e before use.\u003c/span\u003e","\u003cspan class=\"pl-ent\"\u003e\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e## \u003cspan class=\"pl-en\"\u003eImportant Safety Notice\u003c/span\u003e\u003c/span\u003e","","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 \u003cspan class=\"pl-s\"\u003e[\u003c/span\u003eWiki\u003cspan class=\"pl-s\"\u003e]\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e(\u003c/span\u003e\u003cspan class=\"pl-corl\"\u003ehttps://github.com/UncleRiot/EasyVersionBackup/wiki\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e)\u003c/span\u003e for detailed configuration, restore instructions, limitations, and safety information.","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","","\u003cspan class=\"pl-mh\"\u003e# \u003cspan class=\"pl-en\"\u003eEasyVersionBackup\u003c/span\u003e\u003c/span\u003e","","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.","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","\u003cspan class=\"pl-mh\"\u003e## \u003cspan class=\"pl-en\"\u003e❤️ Support\u003c/span\u003e\u003c/span\u003e","","EasyVersionBackup is free to use.","If this tool saves you time, you can support development here:","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ea\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ehref\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003ehttps://ko-fi.com/uncleriot\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u0026gt;"," \u0026lt;\u003cspan class=\"pl-ent\"\u003eimg\u003c/span\u003e \u003cspan class=\"pl-e\"\u003esrc\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003ehttps://storage.ko-fi.com/cdn/kofi2.png?v=3\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003eheight\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e36\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ealt\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003eSupport EasyVersionBackup on Ko-fi\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e /\u0026gt;","\u0026lt;/\u003cspan class=\"pl-ent\"\u003ea\u003c/span\u003e\u0026gt;","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","","\u003cspan class=\"pl-ent\"\u003e\u003cspan class=\"pl-ent\"\u003e\u0026gt; \u003c/span\u003e\u003cspan class=\"pl-s\"\u003e[\u003c/span\u003e!IMPORTANT\u003cspan class=\"pl-s\"\u003e]\u003c/span\u003e\u003c/span\u003e","\u003cspan class=\"pl-ent\"\u003e\u003cspan class=\"pl-ent\"\u003e\u0026gt; \u003c/span\u003eIf Windows SmartScreen blocks the app, right-click the EXE → \u003cspan class=\"pl-s\"\u003e**\u003c/span\u003eProperties\u003cspan class=\"pl-s\"\u003e**\u003c/span\u003e → check \u003cspan class=\"pl-s\"\u003e**\u003c/span\u003eUnblock\u003cspan class=\"pl-s\"\u003e**\u003c/span\u003e → \u003cspan class=\"pl-s\"\u003e**\u003c/span\u003eApply\u003cspan class=\"pl-s\"\u003e**\u003c/span\u003e → \u003cspan class=\"pl-s\"\u003e**\u003c/span\u003eOK\u003cspan class=\"pl-s\"\u003e**\u003c/span\u003e, then start it again.\u003c/span\u003e","\u003cspan class=\"pl-ent\"\u003e\u003cspan class=\"pl-ent\"\u003e\u0026gt;\u003c/span\u003e\u003c/span\u003e","\u003cspan class=\"pl-ent\"\u003e\u003c/span\u003e","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","","Main-Window","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003eimg\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ewidth\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e956\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003eheight\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e326\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ealt\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003egrafik\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003esrc\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003ehttps://github.com/user-attachments/assets/fa575d05-ad64-47d0-b571-23e36ca8c9a0\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e /\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","","Backup Pair Settings","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003eimg\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ewidth\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e420\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003eheight\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e545\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ealt\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003egrafik\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003esrc\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003ehttps://github.com/user-attachments/assets/1c40f1c8-8850-43b3-942b-96adca495d70\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e /\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","","Source Cleanup","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003eimg\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ewidth\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e620\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003eheight\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e470\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ealt\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003egrafik\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003esrc\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003ehttps://github.com/user-attachments/assets/5d085162-6e20-4bb3-a952-b72d406892bd\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e /\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003eimg\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ewidth\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e520\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003eheight\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e353\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ealt\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003egrafik\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003esrc\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003ehttps://github.com/user-attachments/assets/0eb99537-3643-44b5-a4f5-a3ecc3d5efd3\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e /\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003eimg\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ewidth\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e760\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003eheight\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e430\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003ealt\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003egrafik\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e \u003cspan class=\"pl-e\"\u003esrc\u003c/span\u003e=\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e\u003cspan class=\"pl-s\"\u003ehttps://github.com/user-attachments/assets/caee9f1d-9609-41fb-b16b-bf744374f555\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e\u0026quot;\u003c/span\u003e /\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","\u0026lt;\u003cspan class=\"pl-ent\"\u003ebr\u003c/span\u003e\u0026gt;","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","","","\u003cspan class=\"pl-mh\"\u003e## \u003cspan class=\"pl-en\"\u003e🚀 Features\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eVersioned Backups\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Create structured backups with version numbers","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Supports manual input, auto-increment, and timestamp-based versions","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Remembers manually adjusted versions per source → target pair","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Detects existing versions and suggests the next logical version","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Updated versions are stored only after a successful backup","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Canceling a backup does not advance or persist the version number","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eMultiple Backup Configurations\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Configure multiple source → target pairs","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Enable or disable each entry individually","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Edit source and target paths directly in the main window","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Browse folders directly from the main table","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Configure versioning, retention, source cleanup, timers, and error handling per backup pair","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003ePer-Entry Exclusions\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Define excluded files or folders per backup entry","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Edit exclusions directly from the main window or Settings","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Add and remove exclusions through a table-based editor","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Confirmation prompt before removing existing exclusion entries","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Supports source-relative paths and glob-style patterns","","","Pattern behavior:","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e.sav\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e and \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e*.sav\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e match \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e.sav\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e files","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e*\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e matches characters within one path level","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e**\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e matches any number of folder levels","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e A trailing \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e\\\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e restricts the rule to folders","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Matching is case-insensitive","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Wildcard-only exclusions are rejected for safety","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eBackup Retention\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Configure retention separately for every backup pair","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keep the newest number of backups","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keep backups for a configured number of days","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Combine retention rules using \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eAND\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e or \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eOR\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Protect tagged backups such as \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eFinal\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e or \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eOK\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Preview affected backups before permanent deletion","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Choose between:"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Canceling the complete backup"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Continuing without deleting old backups"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Creating the backup and deleting confirmed retention candidates","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Destructive actions are clearly highlighted","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eSource Cleanup\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Experimental feature for removing old source files after a successful backup","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Must be enabled globally and per backup pair","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Supports multiple rules, for example:"," \u003cspan class=\"pl-s\"\u003e```\u003c/span\u003e\u003cspan class=\"pl-en\"\u003etext\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e\u003c/span\u003e","\u003cspan class=\"pl-c1\"\u003e .sav\u003c/span\u003e","\u003cspan class=\"pl-c1\"\u003e G1R*.sav\u003c/span\u003e","\u003cspan class=\"pl-c1\"\u003e Saved\\SaveGames\\.sav\u003c/span\u003e","\u003cspan class=\"pl-c1\"\u003e Saved\\SaveGames\\G1R*.sav\u003c/span\u003e","\u003cspan class=\"pl-c1\"\u003e\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e```\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keep the newest files or delete files older than a selected date","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Shows a deletion preview before cleanup","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Directories are never deleted","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Cleanup does not run if the backup fails or is canceled","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eFlexible Backup Timer\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Define intervals like \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e30s\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e, \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e5m\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e, or \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e1h\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Configure a global timer or a custom timer per backup pair","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Live countdown visible:"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e In the main UI"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e In the window title"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e In the system tray tooltip","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eSilent Backup Progress\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Backup progress is displayed directly inside the main table","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Source-related operations fill the source-directory cell","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Target-related operations fill the target-directory cell","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e The timer column temporarily shows the current percentage","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Indeterminate phases use a subtle moving progress fill","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e The normal timer value is restored after completion","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Multiple backup pairs can show progress independently","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e No additional progress window or focus change is required","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eAutomatic Background Backups\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e File and ZIP creation runs outside the UI thread","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Works while you use other applications","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Automatic backups remain silent unless user interaction is required","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Destination-conflict and retention confirmations can still require interaction","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Optional minimize-to-system-tray behavior","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eStatus \u0026amp; Feedback System\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Per-entry status indicator:"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e 🟢 OK"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e 🟡 Warning"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e 🔴 Error","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Hover for quick details:"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Last backup time"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Error messages"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Skipped-file summary","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Click the info icon to open a copyable and scrollable details dialog","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Skipped files are listed individually when available","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Skipped files do not automatically mark a successful backup as failed","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Retention is indicated by a red \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eR\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e marker","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Source cleanup is indicated by a cyan \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eC\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e marker","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Both markers are displayed when both features are active","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eZIP Support\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Optional compression into \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e.zip\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e archives","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Uses the same versioning logic as folder-based backups","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Temporary ZIP files are finalized only after successful creation","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e No additional metadata sidecar files are created","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eRobust Error Handling\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Option to ignore locked or in-use files","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Backup can continue without interruption","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Skipped files are reported per backup entry","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Skipped-file summaries distinguish between files and folders","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Failed or canceled backups do not trigger source cleanup","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Useful for projects with temporary build files, IDE locks, or active services","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eSystem Tray Integration\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Minimize to tray","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Tray tooltip shows the next scheduled backup:",""," Next backup in 2 minutes (19:52)","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Manual and automatic backups can show tray notifications","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Canceled backups are reported as canceled instead of completed","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eModernized UI\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Clean, compact main window","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Toolbar with quick actions:"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Exit"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Add path"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Remove path"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Settings"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e About"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Backup","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Modern themed dialogs and scrollbars","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Clear visual distinction between normal and destructive actions","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Main window initially shows only a small number of rows","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Window remains resizable","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Resize indicator included","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Tooltips and contextual help added for important controls","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e## \u003cspan class=\"pl-en\"\u003e🧩 How It Works\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-s\"\u003e1\u003c/span\u003e\u003cspan class=\"pl-v\"\u003e.\u003c/span\u003e Configure one or more \u003cspan class=\"pl-s\"\u003e**\u003c/span\u003esource → target\u003cspan class=\"pl-s\"\u003e**\u003c/span\u003e paths","\u003cspan class=\"pl-s\"\u003e2\u003c/span\u003e\u003cspan class=\"pl-v\"\u003e.\u003c/span\u003e Optionally define exclusions per backup pair","\u003cspan class=\"pl-s\"\u003e3\u003c/span\u003e\u003cspan class=\"pl-v\"\u003e.\u003c/span\u003e Choose a versioning method","\u003cspan class=\"pl-s\"\u003e4\u003c/span\u003e\u003cspan class=\"pl-v\"\u003e.\u003c/span\u003e Optionally configure:"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Retention"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Source cleanup"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Custom backup timer"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Error handling","\u003cspan class=\"pl-s\"\u003e5\u003c/span\u003e\u003cspan class=\"pl-v\"\u003e.\u003c/span\u003e Click \u003cspan class=\"pl-s\"\u003e**\u003c/span\u003eBackup\u003cspan class=\"pl-s\"\u003e**\u003c/span\u003e or let the configured timer start it automatically","\u003cspan class=\"pl-s\"\u003e6\u003c/span\u003e\u003cspan class=\"pl-v\"\u003e.\u003c/span\u003e The app will:"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Validate the source and target paths"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Create a versioned directory or ZIP archive"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Report progress directly in the backup-pair row"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Skip problematic files if configured"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Preview Source Cleanup and Retention candidates before deletion"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Allow canceling the backup or continuing without deletion"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Apply confirmed Source Cleanup only after a successful backup"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Apply confirmed Retention after backup creation"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Store the final backup status per entry"," \u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Persist the selected version only after success","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e## \u003cspan class=\"pl-en\"\u003e⚙️ Settings Overview\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eBackup Timer\u003c/span\u003e\u003c/span\u003e","","Flexible input:","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e30s\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e → 30 seconds","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e5m\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e → 5 minutes","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e1h\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e → 1 hour","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e15\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e → 15 minutes by default","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eDefault Versioning\u003c/span\u003e\u003c/span\u003e","","Starting version or pattern, for example:","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003enone\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003ev1.0\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e1.0\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eyyyy-MM-dd\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eyyyyMMdd\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eyyyy-MM-dd-HH-mm\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eyyyyMMddHHmm\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eAuto Increment\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Automatically increases compatible version numbers","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Updated versions are saved only after a successful backup","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eRetention\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keep the latest configured number of backups","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keep backups for a configured number of days","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Combine enabled rules with \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eAND\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e or \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eOR\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Exclude tagged backups from deletion","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eSource Cleanup\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Delete only explicitly configured file types","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Restrict cleanup to specific source-relative folders","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keep the newest files or delete files older than a selected date","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eMinimize to Systray\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keeps the app running quietly in the background","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eIgnore Copy Errors\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Skips locked or problematic files instead of stopping the backup","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003eZIP Backups\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Enable to create one \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e.zip\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e archive per backup","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Disable to create a versioned backup directory","","\u003cspan class=\"pl-mh\"\u003e### \u003cspan class=\"pl-en\"\u003ePer-Path Exclusions\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Exclude folders or files from individual backup entries","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Supports simple names, file extensions, relative paths, \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e*\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e, and \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e**\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e## \u003cspan class=\"pl-en\"\u003e🖥️ Runtime Requirement\u003c/span\u003e\u003c/span\u003e","","The published application targets Windows x64 and requires the .NET 8 Desktop Runtime because the project is framework-dependent (\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eSelfContained=false\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e).","","Application settings are stored in:",""," \u003cspan class=\"pl-c1\"\u003e\u0026lt;application directory\u0026gt;\\Settings\\EasyVersionBackup.settings.json\u003c/span\u003e","","The application no longer creates \u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e.evbmeta\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e`\u003c/span\u003e sidecar files beside ZIP backups.","","\u003cspan class=\"pl-ms\"\u003e---\u003c/span\u003e","","\u003cspan class=\"pl-mh\"\u003e## \u003cspan class=\"pl-en\"\u003e💡 Use Cases\u003c/span\u003e\u003c/span\u003e","","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Backup Visual Studio projects","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Create safe snapshots before refactoring","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Preserve game saves while automatically removing older save files","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Keep only a defined number of recent backups","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Protect release backups using retention tags","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Save versions before deployments or releases","\u003cspan class=\"pl-v\"\u003e-\u003c/span\u003e Run automatic backups while working"]}},"title":"EasyVersionBackup/README.md at master · UncleRiot/EasyVersionBackup","appPayload":{},"meta":{"title":"EasyVersionBackup/README.md at master · UncleRiot/EasyVersionBackup"}}</script>
<meta name="github-code-view-meta-stats" id="github-code-view-meta-stats" data-hydrostats="publish"/>
<button data-component="Button" type="button" aria-label="Expand file tree" data-testid="expand-file-tree-button-mobile" class="prc-Button-ButtonBase-9n-Xk ExpandFileTreeButton-module__Button_1__Svs95" data-loading="false" data-size="medium" data-variant="invisible"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-arrow-left" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06Z"></path></svg> Files </button><button data-component="IconButton" type="button" data-testid="collapse-file-tree-button" aria-expanded="true" aria-controls="repos-file-tree" class="prc-Button-ButtonBase-9n-Xk position-relative ExpandFileTreeButton-module__expandButton__hDOcv ExpandFileTreeButton-module__filesButtonBreakpoint__zEvz3 fgColor-muted prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-labelledby="_R_99lmidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-sidebar-expand" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.177 7.823 2.396-2.396A.25.25 0 0 1 7 5.604v4.792a.25.25 0 0 1-.427.177L4.177 8.177a.25.25 0 0 1 0-.354Z"></path><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25H9.5v-13Zm12.5 13a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11v13Z"></path></svg></button>Collapse file tree
Files <button data-component="Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" style="min-width:0" aria-label="master branch" data-testid="anchor-button" data-icv-name="Switch branches/tags" class="prc-Button-ButtonBase-9n-Xk react-repos-tree-pane-ref-selector width-full ref-selector-class RefSelectorAnchoredOverlay-module__RefSelectorOverlayBtn__a3WK3" data-loading="false" data-size="medium" data-variant="default" id="ref-picker-repos-header-ref-selector">
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg>
master
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg> </button>
<button data-component="IconButton" type="button" class="prc-Button-ButtonBase-9n-Xk SearchButton-module__IconButton__SBlqu prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-labelledby="_R_ahlmidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></button>Search this repository(forward slash) forward slash /
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg> <input type="text" aria-label="Go to file" role="combobox" aria-controls="file-results-list" aria-expanded="false" aria-haspopup="dialog" autoCorrect="off" spellCheck="false" placeholder="Go to file" aria-describedby="_R_1almidek5_ _R_1almidek5H1_" data-component="input" class="prc-components-Input-IwWrt" value=""/> t T
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-right" viewBox="0 0 12 12" width="12" height="12" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z"></path></svg>
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg>
Ressources
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
.gitattributes
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
.gitignore
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
AboutForm.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
AboutForm.resx
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
AppSettings.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
ApplicationVersionHelper.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
AutoBackupIntervalHelper.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
BackupDialogHelper.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
BackupFileService.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
BackupHelper.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
BackupLogger.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
BackupPairSettingsDialog.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
BackupVersionItem.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
CORRECTIONS.md
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
DISCLAIMER.md
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
EasyVersionBackup.csproj
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
EasyVersionBackup.sln
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
ExclusionsDialog.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
FileErrorDialog.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
FileErrorDialog.resx
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
Form1.Designer.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
Form1.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
Form1.resx
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
LICENSE.txt
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
ModernBackupInfoDialog.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
ModernConfirmationDialog.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
ModernFolderBrowserDialog.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
ModernMessageDialog.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
ModernSettings.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
ModernTheme.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
ModernWindowFrame.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
Program.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
README.md
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
SettingsStorage.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
SourceCleanupService.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
SourceCleanupSettingsDialog.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
SystemLogger.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
ToolsHelper.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
VersionHelper.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
VersionHelperGit.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
VersionInputForm.Designer.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
VersionInputForm.cs
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
VersionInputForm.resx
<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-file" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg>
VersionPatternHelper.cs
358 lines (253 loc) · 10.2 KB
<button data-component="Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="Code 55% faster with GitHub Copilot" class="prc-Button-ButtonBase-9n-Xk CopilotPopover-module__copilotButton__Ruc0t" data-loading="false" data-size="small" data-variant="invisible" id="_R_4malaidek5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copilot" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg> </button>
<svg data-component="Octicon" class="octicon octicon-alert mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg>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:
<svg data-component="Octicon" class="octicon octicon-report mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg>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:
.sav and *.sav match .sav files
* 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 AND or OR
Protect tagged backups such as Final or OK
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, or 1h
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 R marker
Source cleanup is indicated by a cyan C marker
Both markers are displayed when both features are active
Optional compression into .zip archives
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 seconds
5m → 5 minutes
1h → 1 hour
15 → 15 minutes by default
Starting version or pattern, for example:
none
v1.0
1.0
yyyy-MM-dd
yyyyMMdd
yyyy-MM-dd-HH-mm
yyyyMMddHHmm
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 AND or OR
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 .zip archive 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
</react-app>