Mullion FileMan & folder-tools¶
A small C++17 suite of folder-management tools plus mullion-fileman, a Norton Commander-style dual-pane TUI that drives them. The CLI tools are dependency-free standalone executables sharing a common core (recursive scanning, multi-core parallelism, a progress bar with ETA, CSV reports). mullion-fileman adds FTXUI (MIT).
Runs on Windows, macOS, and Linux.

The tools¶
| Tool | What it does |
|---|---|
folder_parity |
Compare two folder trees, report differences to CSV, optionally sync |
folder_clean |
Find and remove OS junk (.DS_Store, ._*, Thumbs.db, …) |
folder_copy / folder_move / folder_delete |
Recursive, multi-threaded copy / move·rename / delete |
folder_view |
Print a file as text or a hex dump |
folder_find |
Find files by name, content, size, or age |
mullion-fileman |
Dual-pane TUI front-end for everything above |
Quick start¶
# Windows: build all CLI tools (auto-detects MSVC / MinGW / Clang)
.\build.ps1
# the mullion-fileman TUI (fetches FTXUI via CMake)
.\build-mullion-fileman.bat
# macOS / Linux
./build.sh
cmake -B build && cmake --build build # includes mullion-fileman
# Compare two trees by content, using all cores, ignoring OS junk
folder_parity "J:\Photos" "I:\Photos" --hash --jobs -1 --ignore-system -o report.csv
# Browse interactively
mullion-fileman "J:\Photos" "I:\Photos"
See Building for details and the per-tool pages for full options. Licensed under MIT.
Design¶
- Standalone first. Every capability is a CLI tool you can script; mullion-fileman is only a front-end and never the sole entry point.
- Shared core in
include/parity.hpp(scanning, FNV-1a hashing, diff,parallelFor, filters, UTF-8 path keys) — pure and unit-tested. - Safe by default.
folder_cleanandfolder_deleteare dry-run unless you pass--delete/--force;folder_paritynever deletes. - UTF-8 everywhere so non-ASCII names (accents, CJK, emoji) never abort a scan.