DownloadSort is a lightweight and configurable file organization tool written in Rust.
It automatically sorts files from your Downloads directory into categorized folders based on file extensions, with support for background execution and scheduled runs.
- Automatic sorting of files in the Downloads folder
- Rule-based categorization using file extensions
- Configurable categories via
config.toml - Fallback "Others" folder for unmatched files
- Safe file moving with cross-device support (copy + verify + delete fallback)
- Detection of locked/in-use files (optional skipping)
- Background mode with cron-based scheduling
- Run-on-start option for background mode
- Automatic detection of Downloads folder (Windows-focused)
- Manual override and saving of Downloads path to config
- Desktop notifications on Windows (toast notifications)
The application uses a config.toml file with the following structure:
[general]
downloads_dir = "C:\\Users\\User\\Downloads"
others_folder = "Others"
skip_locked_files = true
[background]
enabled = false
run_on_start = true
cron = "*/15 * * * *"
[[category]]
name = "Images"
folder = "Images"
extensions = ["png", "jpg", "jpeg", "gif"]
[[category]]
name = "Documents"
folder = "Documents"
extensions = ["pdf", "docx", "txt"]