|
1 | 1 | # RoboCopy Pro |
2 | 2 |
|
3 | | -A modern, glassmorphism Robocopy GUI for Windows with drag‑drop folders, live logs, presets, and high‑speed transfer options. |
4 | | - |
5 | | -## Highlights |
6 | | -- Drag & drop source and destination folders |
7 | | -- Clean copy/move modes with safe defaults |
8 | | -- Live Robocopy output with syntax highlighting |
9 | | -- Progress, ETA, and taskbar progress |
10 | | -- Presets for quick reuse |
11 | | -- Advanced options (threads, retries, wait, excludes) |
12 | | -- High‑speed toggle for maximum throughput |
13 | | -- Windows notifications on completion |
14 | | - |
15 | | -## Tech Stack |
16 | | -- React + Vite |
17 | | -- Tailwind CSS |
18 | | -- Electron (desktop shell) |
19 | | - |
20 | | -## Screenshots |
21 | | -Add your screenshots here: |
22 | | -- `docs/screenshot-main.png` |
23 | | -- `docs/screenshot-terminal.png` |
24 | | - |
25 | | -## Requirements |
26 | | -- Windows 10/11 |
27 | | -- Node.js 18+ (recommended 20+) |
28 | | - |
29 | | -## Getting Started |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | +A modern, glassmorphism GUI wrapper for Windows Robocopy. Built for speed, safety, and a frictionless user experience, it transforms complex command-line file operations into a seamless visual workflow. |
| 9 | + |
| 10 | +<div align="center"> |
| 11 | + <img src="docs/screenshot-main.png" alt="RoboCopy Pro Main Interface" width="800"/> |
| 12 | +</div> |
| 13 | + |
| 14 | +## ✨ Highlights |
| 15 | +* **Frictionless UX:** Massive drag-and-drop zones for Source and Destination routing. |
| 16 | +* **Non-Blocking Architecture:** The React UI thread is completely isolated from the heavy I/O Robocopy child processes, ensuring the app never freezes during massive multi-gigabyte transfers. |
| 17 | +* **Live Telemetry:** Real-time Robocopy output parsing with syntax highlighting, visual progress bars, and ETA calculations. |
| 18 | +* **Native Integration:** Windows Taskbar progress indicators and native Toast notifications upon completion. |
| 19 | +* **Advanced Controls:** Granular control over thread counts (`/MT:n`), restartable modes (`/Z`), and directory exclusions (`/XD /XF`). |
| 20 | +* **One-Click Presets:** Save and load complex configurations for recurring backup tasks. |
| 21 | + |
| 22 | +## 🛠 Tech Stack |
| 23 | +* **Frontend:** React + Vite |
| 24 | +* **Styling:** Tailwind CSS (Custom Squircle & Glassmorphism UI) |
| 25 | +* **Desktop Shell:** Electron |
| 26 | +* **System APIs:** Native Node.js child-process execution |
| 27 | + |
| 28 | +## 🚀 Getting Started |
| 29 | + |
| 30 | +### Prerequisites |
| 31 | +* Windows 10/11 |
| 32 | +* Node.js 18+ (20+ recommended) |
| 33 | + |
| 34 | +### Local Development |
| 35 | +Clone the repository and run the development server: |
30 | 36 | ```bash |
31 | 37 | npm install |
32 | 38 | npm run dev |
33 | 39 | ``` |
| 40 | +Build & Package |
| 41 | +To compile the application into a standalone executable: |
34 | 42 |
|
35 | | -## Build (Portable EXE) |
36 | | -```bash |
| 43 | +Bash |
37 | 44 | npm run build |
38 | 45 | npm run dist |
39 | | -``` |
40 | | -The portable executable will be generated in `dist/`. |
41 | | - |
42 | | -## Usage |
43 | | -1. Drop a folder into **Source** and **Destination**. |
44 | | -2. Choose **Copy** or **Move**. |
45 | | -3. Adjust options (Mirror, Resume, Logging, etc.). |
46 | | -4. Click **Run Robocopy**. |
47 | | - |
48 | | -## Options (Quick Guide) |
49 | | -- **Mirror**: `/MIR` mirrors source to destination (deletes extras) |
50 | | -- **Resume**: `/Z` restartable mode (safer but slower) |
51 | | -- **High‑Speed**: minimizes output and disables slow options |
52 | | -- **Threads**: `/MT:n` parallel copy for faster I/O |
53 | | -- **Retries/Wait**: `/R:n /W:n` for locked files |
54 | | -- **Exclude**: `/XD /XF` (comma‑separated patterns) |
55 | | - |
56 | | -## Troubleshooting |
57 | | -**Blank window after build** |
58 | | -- Ensure `vite.config.js` uses `base: './'` |
59 | | -- In Electron, `loadFile` should point to built `dist/index.html` |
60 | | - |
61 | | -**Robocopy exit codes** |
62 | | -- Some non‑zero codes are warnings (not always failures) |
63 | | -- Check the live console output for details |
64 | | - |
65 | | -## Roadmap Ideas |
66 | | -- Recent paths |
67 | | -- Context‑menu integration |
68 | | -- Hash verification |
69 | | -- Richer presets |
70 | | - |
71 | | -## Disclaimer |
72 | | -Robocopy is powerful. **/MIR can delete files** in the destination. Use carefully. |
73 | | - |
74 | | -## License |
75 | | -MIT |
| 46 | +Renderer assets are generated in dist/app/. |
| 47 | + |
| 48 | +Executables are generated in the release/ folder: |
| 49 | + |
| 50 | +npm run dist:portable -> Portable .exe (No installation required) |
| 51 | + |
| 52 | +npm run dist:installer -> Installer .exe (NSIS) |
| 53 | + |
| 54 | +🖱 Windows Context Menu Integration |
| 55 | +The NSIS installer automatically adds a Windows Explorer context-menu action. Simply right-click any folder in Windows and select "Transfer with RoboCopy Pro". The app will launch with your selected folder instantly locked in as the Source. |
| 56 | + |
| 57 | +📖 Quick Usage Guide |
| 58 | +Drag and drop a folder into Source and Destination. |
| 59 | + |
| 60 | +Select your Transfer Mode (Copy or Move). |
| 61 | + |
| 62 | +Adjust essential options: |
| 63 | + |
| 64 | +Mirror (/MIR): Mirrors source to destination (Warning: Deletes extra files in destination). |
| 65 | + |
| 66 | +Resume (/Z): Restartable mode for unstable network transfers. |
| 67 | + |
| 68 | +Threads (/MT:n): Enables multi-threaded copying for high-speed I/O. |
| 69 | + |
| 70 | +Retries (/R:n /W:n): Configures retry attempts and wait times for locked files. |
| 71 | + |
| 72 | +Click Run Robocopy and monitor the live terminal. |
| 73 | + |
| 74 | +🗺 Roadmap |
| 75 | +[ ] Implement Recent Paths history dropdown |
| 76 | + |
| 77 | +[ ] Post-transfer cryptographic hash verification (SHA-256) |
| 78 | + |
| 79 | +[ ] Expanded rich-preset management |
| 80 | + |
| 81 | +⚠️ Disclaimer |
| 82 | +Robocopy is a highly powerful system utility. Features like Mirror Mode (/MIR) are destructive and will delete files in the destination directory to match the source. Use with caution. |
| 83 | + |
| 84 | +👨💻 Author |
| 85 | +Aryan Patel * If you find this tool helpful or use it in your daily workflow, consider giving the repo a ⭐! |
| 86 | + |
| 87 | +📄 License |
| 88 | +This project is licensed under the MIT License. |
0 commit comments