Use when you need to find files present in a source directory that are missing from a destination directory, compared by content hash (not filename). Handles large directories efficiently with multi-core hashing and a size-bucket optimisation.
Compares two directories by SHA-256 content hash to identify files in the source that have no content match in the destination — even if they have been renamed or reorganised.
The tool is optimised for large directories: it indexes the destination by file size first, and only hashes files where a size match is possible, using all available CPU cores.
Use this skill when:
Do NOT use for:
scripts/check_missing_files_between_two_folders.py (relative to this skill directory)
python scripts/check_missing_files_between_two_folders.py <source> <destination> [options]
| Argument | Description |
|---|---|
| source | Directory whose files you want to check (the "smaller" or "subset" side) |
| destination | Reference directory to check against (the "larger" or "superset" side) |
| Flag | Default | Description |
|---|---|---|
| --output, -o | missing_files_tree.txt | Output file path for the tree report |
| --skip-extension | .THM, .LRV | Extensions to ignore (repeatable) |
| --src-skip-root-subdir | Backedup | Top-level subdirs of source to skip (repeatable) |
| --dest-skip-root-subdir | (none) | Top-level subdirs of destination to skip (repeatable) |
| --verbose, -v | off | Print progress to stderr |
| --workers | CPU count | Number of parallel hashing workers |
python scripts/check_missing_files_between_two_folders.py \
/path/to/source \
/path/to/destination \
--skip-extension .THM --skip-extension .LRV \
--output ~/missing_files.txt \
--verbose
A tree-formatted text file listing all source files with no content match in the destination:
.(relative to /path/to/source, skipping Backedup, metadata, .thm, .lrv)
|-- folder_a
| |-- photo1.jpg
| `-- video1.mp4
`-- folder_b
`-- document.pdf
If nothing is missing, the file contains: |-- No missing files (everything matched)
cd scripts
pip install tox
tox
Edit PDFs with natural-language instructions using the nano-pdf CLI.
Control Sonos speakers (discover/status/play/volume/group).
Terminal Spotify playback/search via spogo (preferred) or spotify_player.
Capture frames or clips from RTSP/ONVIF cameras.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
Category:tools