Using Cleaner
Quick start, the safety model, the full CLI reference, and where your data files live. For release notes see the changelog.
Quick start
- Pick a tool from the sidebar — Dashboard is a good first stop.
- Choose a folder and tweak the filters (extension, glob pattern, age, size).
- Hit Scan — this only previews matches, nothing is touched.
- Look over the results, deselect anything you want to keep, then hit Clean.
Six themes live in the header bar — Midnight is the default — and switching between them animates instead of snapping.
Install & uninstall
Requirements: Windows 10 or newer, 64-bit (x64). No runtime dependencies — it's a single native Rust binary.
Installer (recommended)
Grab Cleaner-Setup-<ver>.exe from the
Releases page
(or the Download button on the home page).
It installs per-user with no admin prompt, adds a Start Menu
shortcut, and registers a proper uninstaller.
Portable zip
Grab cleaner-v<ver>-windows-x64.zip
instead, unzip anywhere — a folder, a USB stick — and run
cleaner.exe. Data stays next to the exe.
Uninstalling
Settings → Apps → Cleaner → Uninstall, or "Uninstall Cleaner" in the Start Menu folder. It removes the whole program folder, deletes the scheduled task if you registered one, and then asks if you want the data folder gone too — say yes and there's genuinely nothing left.
Safety model
A cleaner deletes files, so every default is tuned to make the destructive path the deliberate one:
- Dry run is on out of the box — nothing is deleted until you turn it off.
- Deletion goes to the recycle bin by default; permanent delete is opt-in.
- Every clean asks for confirmation first.
- Optional 3-pass secure erase for files you really want gone.
- A protected-paths list that's never scanned or deleted, period.
- A persistent log records every operation.
CLI reference
Run cleaner with no arguments to open the GUI.
Pass a command to run headless — handy for scripting and
Task Scheduler.
Scan commands (preview only)
| Command | What it does |
|---|---|
scan-system | Scan the enabled system-clean targets |
scan-custom <dir> | Scan a folder with filters |
scan-duplicates <dir> | Find duplicate files |
scan-large <dir> | Find large files |
scan-empty <dir> | Find empty folders |
scan-folders <dir> | Folder-size breakdown |
Clean commands (delete for real)
| Command | What it does |
|---|---|
clean-system [--yes] | Clean enabled system targets |
clean-custom <dir> [filters] [--yes] | Clean a folder with filters |
clean-duplicates <dir> [--yes] | Keeps the first file in each group |
clean-large <dir> [--min-mb N] [--yes] | Clean files above a size threshold |
clean-empty <dir> [--yes] | Remove empty folders |
Filters & flags
| Flag | Meaning |
|---|---|
--ext a,b,c | Extensions (default: tmp,log) |
--pattern <glob> | Glob pattern, e.g. "*.tmp" |
--older-than <d> | Only files older than N days |
--min-size <b> / --max-size <b> | Size bounds in bytes (0 = no limit) |
--min-mb <n> | Large-file threshold in MB (default: 100) |
--exclude <paths> | Comma-separated directories to skip |
--recursive / --hidden | Include subdirectories / hidden files |
--yes | Skip the confirmation prompt |
--permanent | Delete permanently instead of recycle bin |
--secure | 3-pass overwrite before deletion |
--force | Delete for real even if dry run is enabled |
--minimized | Launch the GUI parked in the system tray |
clean-* commands only preview
unless you pass --force.
Example — clean tmp/log files older than 30 days, recursively, no prompt:
cleaner clean-custom "C:\Users\you\Downloads" --ext tmp,log --older-than 30 --recursive --yes
Settings
Saved to cleaner_settings.json in the data folder.
| Field | What it does |
|---|---|
theme | Midnight, Dark, Light, Nord, Dracula, or Solarized |
dry_run | Preview matches without deleting anything |
use_trash | Send deleted files to the recycle bin |
recursive | Include subdirectories in custom scans |
include_hidden | Include dotfiles and hidden folders |
confirm_clean | Ask before deleting |
secure_delete | Overwrite files 3 times before removing |
protected_paths | Folders that are never scanned or deleted |
dupe_excludes | Folders the duplicate finder skips |
custom_targets | Your own entries in the System Cleaner list |
Where your files live
Everything the app saves goes in one folder:
- Installed: next to the exe (
...\Programs\Cleaner\) — the whole thing self-destructs on uninstall. - Portable: next to wherever you put
cleaner.exe. - If the exe's folder is ever read-only, data moves to
%APPDATA%\Cleaner\automatically.
Inside you'll find cleaner_settings.json,
cleaner_history.log, a
reports\ folder for exports, and a
README.txt that explains each one. The
About tab has an "Open data folder" button if you ever want to look.
Building from source
You'll need Rust. Then:
# clone and build git clone https://github.com/w0wzahh/cleaner.git cd cleaner cargo build --release # binary lands at target\release\cleaner.exe
To build the installer you'll also need
Inno Setup 6,
then run ISCC.exe installer.iss — the setup
lands in dist\.