# dl-cleaner
`dl-cleaner` is a lightweight Rust CLI tool that scans your Downloads directory and organizes files by extension.
It identifies files, shows a categorized preview, and (optionally) moves them into folders such as `Images/`, `Videos/`, `Documents/`, and more.
---
## Installation
```bash
cargo install dl-cleaner
```
Requires a recent Rust toolchain.
---
## Usage
```bash
# Scan the Downloads directory (no changes)
dl-cleaner --scan-only
# Scan a custom directory
dl-cleaner --dir /path/to/Downloads --scan-only
# Scan and organize (move files by extension)
dl-cleaner
dl-cleaner --dir /path/to/Downloads
```
Options:
- `--dir <PATH>`
Path to the directory to scan.
Defaults to your system’s `~/Downloads` (resolved via `dirs::download_dir()`).
- `--scan-only`
Performs a scan and shows categorized results **without moving any files**.
---
## Behavior
- Scans the target directory and lists all files found.
- Groups files by extension (e.g., images, videos, archives, documents).
- Displays categorized results before taking any action.
- When executed without `--scan-only`, moves files into extension-based folders under the same directory.
- Automatically handles name conflicts using a safe pattern like `file (1).ext`.
---
## Example Output
```
Scanning: ~/Downloads
Images:
- photo.jpg
- screenshot.png
Videos:
- clip.mp4
Documents:
- resume.pdf
```
---
## License
MIT