照片管理工具,支持 RAW 与 JPG 文件的整理与同步。
- 整理照片:将散落的 RAW 和 JPG 文件分离到各自文件夹
- 同步删除:清理孤立文件(单向 RAW→JPG 或双向同步)
- 一致性检查:检查 RAW 和 JPG 两边的文件是否完全对应
- 支持 30+ 种 RAW 格式:Nikon、Canon、Sony、Fuji、Panasonic、Pentax、Olympus、Hasselblad、Phase One 等
# 1. 安装 pipx(如已安装可跳过)
brew install pipx
pipx ensurepath
# 2. 克隆仓库
git clone https://github.com/OGoneZ/photo-tool.git
cd photo-tool
# 3. 以可编辑模式安装,全局可用
pipx install -e .安装完成后即可全局使用 photo 命令:
photo --help将当前目录下的 RAW 和 JPG 文件分离到 RAW/ 和 JPG/ 文件夹:
# 在当前目录执行
photo organize
# 或指定目录
photo organize /path/to/photos运行后会自动:
- 扫描并显示待移动的文件列表
- 询问确认
- 执行移动
| 选项 | 说明 |
|---|---|
--force |
跳过确认直接移动(危险操作) |
当 RAW 文件夹中的文件被删除后,清理 JPG 文件夹中对应的文件:
# 在当前目录执行
photo sync
# 或指定目录
photo sync /path/to/photos运行后会自动:
- 显示待删除的文件列表
- 询问确认
- 执行删除
| 选项 | 说明 |
|---|---|
--force |
跳过确认直接删除(危险操作) |
--both, -b |
双向同步:同时删除 RAW 和 JPG 中的孤立文件 |
默认只检查 JPG 中多余的孤立文件(仅在 RAW → JPG 方向同步):
# 交互式确认(默认)
photo sync /path/to/photos
# 直接删除,不询问
photo sync /path/to/photos --force同时检查两边,删除任何一侧的孤立文件:
# 交互式确认
photo sync /path/to/photos --both
# 直接删除,不询问
photo sync /path/to/photos --both --force示例场景:在 Lightroom 中同时删除了某些 RAW 和对应的 JPG,双向同步确保两边完全一致。
检查 RAW 和 JPG 两边的文件是否完全对应:
# 在当前目录执行
photo check
# 或指定目录
photo check /path/to/photos输出示例:
📊 文件统计:
RAW: 100 个
JPG: 98 个
⚠ 2 个文件只在 RAW 中存在:
• DSC_0001
• DSC_0002
摄影师从相机导入照片后,所有文件混在一起:
📁 旅行照片/
├── DSC_0001.NEF
├── DSC_0001.JPG
├── DSC_0002.NEF
├── DSC_0002.JPG
└── ...
运行整理命令后:
📁 旅行照片/
├── 📁 RAW/
│ ├── DSC_0001.NEF
│ ├── DSC_0002.NEF
│ └── ...
└── 📁 JPG/
├── DSC_0001.JPG
├── DSC_0002.JPG
└── ...
在 Lightroom 或 Capture One 中修图时,可能会删除一些 RAW 文件:
# 检查有哪些 JPG 对应的 RAW 已被删除
photo check /path/to/photos
# 单向同步:删除孤立的 JPG 文件(默认)
photo sync /path/to/photos
# 双向同步:同时删除孤立的 RAW 和 JPG 文件
photo sync /path/to/photos --both| 品牌 | 格式 |
|---|---|
| Nikon | .nef, .nrw |
| Canon | .cr2, .cr3 |
| Sony | .arw, .srf, .sr2 |
| Fuji | .raf |
| Panasonic | .rw2, .rwz |
| Pentax / 通用 | .pef, .dng |
| Olympus | .orf |
| Hasselblad | .3fr, .fff |
| Phase One | .iiq |
| Minolta | .mrw |
| Leica | .rwl |
| Kodak | .kdc, .dcr |
| Epson | .erf |
| 通用 | .raw |