DownloadSort is a lightweight and configurable file organization tool written in Rust.
It automatically sorts files from your Downloads folder into categorized subfolders based on file extensions. The tool supports both a command-line interface (CLI) for headless operation and a modern dark-themed graphical user interface (GUI) built with egui.
- Automatic sorting – Moves files from the Downloads directory into category folders.
- Rule-based categorization – Define categories by file extensions in
config.tomlor via the GUI. - Fallback folder – Unmatched files go into a configurable
Othersfolder. - Safe file moving – Handles cross-device moves with copy+verify+delete fallback.
- Locked file detection – Optionally skip files that are currently in use.
- Background mode – Run sorting periodically using cron‑like scheduling (supports standard cron expressions and shortcuts like
@hourly). - Run on start – Execute sorting immediately when background mode starts.
- Graphical user interface – Full-featured GUI for configuration, manual sorting, background control, and real‑time logs/stats.
- CLI options –
--oncefor a single sorting run,--daemonfor headless background mode. - Automatic Downloads folder detection – Works on Windows (supports
USERPROFILE,OneDrive,HOMEDRIVE/HOMEPATH,PUBLIC). - Windows toast notifications – Notify when sorting completes.
- Ensure you have Rust installed.
- Clone or download the project.
- Build the release binary:
cargo build --release