22 个版本 (9 个重大更新)

0.17.6 2024 年 8 月 3 日
0.17.5 2024 年 7 月 25 日
0.16.0 2024 年 7 月 8 日

#702命令行实用工具

Download history 572/week @ 2024-06-30 893/week @ 2024-07-07 66/week @ 2024-07-14 215/week @ 2024-07-21 106/week @ 2024-07-28 64/week @ 2024-08-04 5/week @ 2024-08-11

每月 392 次下载

自定义许可证

36KB
806

phorg

幂等照片/视频文件整理器。

test status dependencies status

概述

给定 <src><dst> 目录

  1. <src> 中查找照片/视频文件
  2. 获取它们的 Exif 数据
  3. 计算它们的哈希摘要
  4. 将它们移动/复制到 <dst>/{<img>,<vid>}/<year>/<month>/<day>/<date>--<time>--<digest>[.<ext>],其中
    • <img><vid> 分别默认为 "img" 和 "vid",可以通过 CLI 自定义
    • 日期和时间从 Exif 元数据中提取,按顺序查找以下标签中的第一个
      • DateTimeOriginal
      • CreationDate
      • DateTimeCreated
      • CreateDate
      • DateCreated
      • Datecreate
      • TrackCreateDate
  5. 可选地,您可以在<day>目录下(手动)添加语义命名的子目录,并将媒体文件(手动)移动到它们中,这些子目录在后续的处理中将被保留,即当此<dst>稍后用作<src>时。

示例

(注意2020-11-29的语义子目录)

$ phorg /mnt/usb-drive $dst move
$ cd $dst
$ tree .
.
├── img
   ├── 2020
   │   ├── 11
   │   │   ├── 29
   │   │   │   └── Hike on Suffern-Bear Mountain Trail
   │   │   │       ├── 2020-11-29--15:23:10--crc32:c7d15ddf.heic
   │   │   │       ├── 2020-11-29--15:29:40--crc32:b4f4e4e0.heic
   │   │   │       ├── 2020-11-29--15:30:07--crc32:3b5aa617.heic
   │   │   │       └── 2020-11-29--15:38:30--crc32:514c9b0c.heic
   │   │   └── 30
   │   │       ├── 2020-11-30--08:20:00--crc32:08a5aa4a.heic
   │   │       ├── 2020-11-30--08:23:41--crc32:bba07552.heic
   │   │       ├── 2020-11-30--08:24:24--crc32:94c0f155.heic

安装

  1. 确保已安装Rust 1.75.0+工具链:https://rust-lang.net.cn/tools/install
  2. cargo安装phorg
  3. 确保~/.cargo/bin/已添加到您的PATH
  4. phorg help

依赖项

只有上面提到的Rust工具,其他一切将由cargo处理。

exiftool,在无法提取所需元数据时用作后备。此后备可以通过CLI禁用。

如果exiftool不在PATH中,将导致错误,这些错误将被记录,但**不会中断执行**,我们无法读取足够数据的文件将被跳过。

依赖项

~15–26MB
~380K SLoC