Safe file recovery from failing and unreliable drives — a fault-tolerant robocopy GUI for Windows.
When a hard drive starts failing, Windows Explorer freezes — or the entire system crashes — the moment you try to copy files off it. Explorer retries every read error indefinitely, stalling the I/O queue until the OS locks up. By the time you reboot, the drive may be worse than before.
SwiftCopy was built to fix exactly this. It wraps Windows' built-in robocopy utility with a clean dual-pane GUI and applies fault-tolerant settings: zero retries, skip locked files, restartable copy mode. Instead of hanging, it skips problem files and keeps going — getting your data out before the drive deteriorates further.
- Failing drive presets — one-click configuration for safe or fast recovery from dying drives
- Dual-pane file browser — navigate source and destination side by side, Total Commander-style
- Fault-tolerant by default — skip locked files and zero-retry mode prevent system freezes
- F5 to copy, F6 to move — familiar keyboard shortcuts for power users
- Drag-and-drop — drag files between panes with copy or move prompt
- Job queue — queue multiple operations and process them in sequence
- Real-time progress — per-file progress, byte counts, transfer speed, status bar
- Full robocopy control — ACLs, timestamps, backup mode, mirror vs copy, retry tuning
- Color-coded log — live output with error/warning/info filtering
- Built-in help — press F1 for a full user guide and options reference
Download SwiftCopy.exe — standalone, no Python required.
Requires Windows 10/11.
robocopyis built into Windows and available by default.
- Launch SwiftCopy
- Select Failing drive (safe) from the Preset dropdown
- Navigate to the failing drive in the Left pane
- Navigate to your recovery destination in the Right pane
- Press F5 — SwiftCopy starts copying immediately, skipping problem files instead of hanging
- When done, run a second pass to pick up any files that were busy the first time
(Screenshots coming soon — star the repo to get notified)
# 1. Clone
git clone https://github.com/Cybul3000/SwiftCopy.git
cd SwiftCopy
# 2. Set up virtual environment
python -m venv .venv
.venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Run
python main.pypip install -r requirements-dev.txt
build.bat
# Output: dist\SwiftCopy.exeWindows note: If
pythonis not on PATH, use the full path fromGet-Command python. Ifpython3fails, disable thepython3.exeApp Execution Alias in Windows Settings → App Execution Aliases.
| Key | Action |
|---|---|
F5 |
Copy left → right |
F6 |
Move left → right |
F1 |
Open User Guide |
Escape |
Stop current job |
Backspace |
Go up one directory |
Enter (path bar) |
Navigate to typed path |
| Double-click | Open folder |
| Option | Flag | Description |
|---|---|---|
| Preserve timestamps/permissions | /COPY:DATS /DCOPY:DAT |
Copy ACLs and timestamps |
| Conservative mode | /COPY:DAT |
Data and timestamps only, no ACLs |
| Include auditing info | /COPYALL |
Copy audit ACEs (requires admin) |
| Skip locked files | /R:0 /W:0 |
Never hang on busy or unreadable files |
| Backup mode | /ZB |
Read files even without normal permission |
| Mirror | /MIR |
Exact sync — deletes extras at destination |
| Copy (append) | /E |
Copy without deleting anything at destination |
You can — and SwiftCopy does exactly that under the hood. But getting the right flags for a failing drive requires knowing /R:0 /W:0 /Z /XJ /COPY:DATS and more. SwiftCopy puts the right combination one click away, adds a visual file browser so you don't have to type paths, and shows live progress without reading dense terminal output.
MIT © Maciej — maciej@tyaudio.eu
Built with PySide6 (Qt 6)