Fast. Safe. Simple. Powered by Robocopy.
A modern Windows GUI for safe and fast file transfer powered by Microsoft Robocopy.
- Four Transfer Modes — Safe Copy, Update Only, Mirror, Move
- Safe by Design — Strong warnings, mandatory dry-run preview for Mirror, required typed confirmation for Mirror mode
- Root Drive Blocking — Mirror and Move modes block root drives (e.g.,
C:\,D:\) as destinations; Safe Copy and Update Only show a warning - Fully Transparent — Shows the exact Robocopy command before any execution
- Live Progress — Real-time file-level progress with percentage tracking (every 5%) and processed progress feed
- Failed Items Reporting — Automatic detection of failed files from Robocopy output; plain-text report with error codes and suggested actions; clickable failed counter in summary
- Detailed Summary — Exit code interpretation (0–7 success, 8+ failure), file counts (Total, Copied, Skipped, Mismatched, Extras, Failed), bytes, speed, duration
- Automatic Logging — Every transfer saves a Unicode log file automatically via
/UNILOG - Bilingual UI — Full English and Arabic interface with live RTL switching
- Modern Dark Theme — Charcoal dark gray UI inspired by Windows 11 / Fluent Design
- Performance Tuning — Multi-threaded copying (1–128 threads), configurable retry (0–10) and wait (0–60 seconds)
- Folder Auto-Append — Source folder name appended to destination with auto-numbering if folder exists
| Mode | Color | Description | Destructive? |
|---|---|---|---|
| Safe Copy | Green | Copy all files safely, no deletions | No |
| Update Only | Blue | Copy new and changed files only | No |
| Mirror | Red | Makes destination an exact replica of source — may delete files in destination | Yes |
| Move | Orange | Copies files then deletes them from source | Yes |
RoboTransfer is designed to be safe first. However, two transfer modes can cause permanent data loss if used carelessly.
Mirror mode makes the destination folder an exact copy of the source. Any files in the destination that do not exist in the source will be deleted. To prevent accidents:
- A dry-run preview is required before the real mirror — the button does not appear until the preview completes.
- You must type the destination folder name into a confirmation text box to proceed.
- Root drives are blocked as destinations for Mirror mode.
Move mode deletes files from the source after they are successfully copied. This is similar to cutting-and-pasting on a large scale. To prevent accidents:
- A checkbox confirmation is required before starting.
- Root drives are blocked as destinations for Move mode.
- All operations are validated before execution:
- Source and destination must be different.
- Destination cannot be inside the source (recursion check).
- Source inside destination with Mirror mode is rejected.
- Root drives are blocked (Mirror/Move) or warned (Safe/Update).
- The generated Robocopy command is always visible before you start.
- Every operation saves a detailed Unicode log file automatically.
- Exit codes are interpreted according to Microsoft's specification (0–7 = success, 8+ = failure).
| Element | Value |
|---|---|
| Logo | Custom circular icon (230×230 PNG) |
| Primary Color | #3B82F6 (Blue) — "Transfer" |
| Success Color | #22C55E (Green) — Safe Copy |
| Warning Color | #F59E0B (Orange) — Move |
| Danger Color | #EF4444 (Red) — Mirror |
| Background | #1C1C1E (Charcoal) |
| Surface | #2C2C2E (Dark Gray) |
| Typography | Segoe UI Variable, Cascadia Code (monospace) |
See docs/Branding.md for full brand guidelines.
- Windows 10 or later (64-bit)
- .NET 8 Runtime (for framework-dependent package)
- Microsoft Robocopy (included with Windows)
- Go to the Releases page.
- Download the latest
RoboTransfer_Portable_FrameworkDependent.zip. - Extract the ZIP and run
RoboTransfer.exe.
A self-contained single-file version is also available (no .NET runtime required, larger file size).
# Clone the repository
git clone https://github.com/ahmadibrahim4geo/RoboTransfer.git
cd RoboTransfer
# Restore and build
dotnet restore
dotnet build -c Release
# Run
.\src\RoboTransfer.App\bin\Release\net8.0-windows\RoboTransfer.exe
# Publish (framework-dependent)
.\scripts\publish.ps1 -Mode FrameworkDependentRoboTransfer/
├─ src/
│ └─ RoboTransfer.App/ — WPF application (.NET 8)
│ ├─ Views/ — XAML views (MainWindow, TransferView, etc.)
│ ├─ ViewModels/ — MVVM view models
│ ├─ Models/ — Domain models (TransferJob, RobocopyResult, etc.)
│ ├─ Services/ — Business logic (runner, parser, command builder)
│ └─ Resources/ — Themes, icons, logo
├─ tests/
│ └─ RoboTransfer.Tests/ — xUnit unit tests
├─ Assets_Branding/ — Logo, brand board, screenshots
├─ docs/ — Documentation
├─ scripts/ — Build, publish, and clean scripts
├─ .github/ — Issue and PR templates
├─ .gitignore
├─ LICENSE
├─ CHANGELOG.md
├─ CONTRIBUTING.md
├─ SECURITY.md
└─ README.md
| Document | Description |
|---|---|
| Transfer Modes | Detailed explanation of each transfer mode |
| Safety Notes | Safety rules and best practices |
| Branding | Brand identity, colors, logo guidelines |
Contributions are welcome! Please read CONTRIBUTING.md for guidelines.
If you discover a security vulnerability, please see SECURITY.md for reporting instructions.
This project is licensed under the MIT License. See LICENSE for details.
- Built with .NET and WPF
- Powered by Microsoft Robocopy
- Logo and branding by Ahmad Ibrahim

