一个用于清理、核查和归档 Calibre 或 Calibre-Web 图书库中遗留或异常数据的工具集合。包含以下功能:
- 检查书籍目录是否缺失或无格式文件
- 查找未被 Calibre 数据库引用的孤立目录(孤儿目录)
- 统计孤儿目录文件数量和大小
- 自动打包孤儿目录并可交互确认删除
- 支持
.env
环境变量配置 - 生成 Markdown 格式归档报告
脚本文件名 | 功能说明 |
---|---|
archive_orphan_dirs.py |
查找并打包未被数据库引用的目录树,可交互删除原始目录,生成报告,支持 dry-run 模式 |
find_deep_orphan.py |
查找所有未被数据库引用的目录树根(不含统计信息) |
find_deep_orphan_w_size.py |
📌 find_deep_orphan.py 的增强版:统计每个孤立目录的文件数和总大小 |
find_empty.p |
快速列出书籍目录树中所有空目录 |
check_calibre_files.py (即 Canvas 中当前脚本) |
检查 metadata.db 中记录的书籍路径是否真实存在,是否含有 .epub /.pdf 格式文件,支持 .env 配置 |
确保你使用的是 Python 3.7+ 推荐使用虚拟环境:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python-dotenv
请在项目根目录创建 .env
文件,并填写如下内容:
BOOK_ROOT=/your/full/path/to/calibre/books
DB_PATH=/your/full/path/to/metadata.db
python check_calibre_files.py
python find_deep_orphan.py
python find_deep_orphan_w_size.py
python find_empty.p
python archive_orphan_dirs.py
如需 dry-run 模式(仅生成报告,实际不打包、不删除):
python archive_orphan_dirs.py --dry-run
运行 archive_orphan_dirs.py
后,将在 BOOK_ROOT
的上一级目录生成:
orphan_archives_20250518_231512/
├── orphan_report_20250518_231512.md
├── Trash_old_books.zip
├── Unused_Notes_2022.zip
...
报告内容如下
路径 | 文件数 | 大小 | Zip 文件 |
---|---|---|---|
Trash_old_books |
42 | 32.1 MB | Trash_old_books.zip |
Unsorted_Notes |
0 | 0.0 B | (空目录未压缩) |