介绍
随着数码相机的普及,我们拍摄的照片数量越来越多,如何管理这些照片成为了一件头疼的问题。@lukekarrys/organize-photos 是一个能够帮助我们将照片按照一定规则整理的 npm 包。使用该包,我们可以轻松地将照片按照拍摄日期、相机型号、图片类型等分类整理,方便我们后续的管理和查找。
安装
在使用 @lukekarrys/organize-photos 之前,我们需要先安装 Node.js 环境和 npm 包管理工具。安装好环境后,执行以下命令即可安装 @lukekarrys/organize-photos 包:
npm install @lukekarrys/organize-photos
使用
@lukekarrys/organize-photos 包提供了一个命令行工具 organize-photos,我们可以通过该工具完成照片整理的操作。
命令行选项
organize-photos 命令支持以下选项:
-s
或--source
: 照片源目录,需要整理的照片所在目录路径。必选项。-d
或--destination
: 整理后的目标目录,整理好的照片将会被移到该目录下。必选项。-f
或--format
: 文件名格式,整理后文件的文件名格式,支持以下占位符:%y
,%Y
: 年份%m
,%M
: 月份%d
,%D
: 日期%h
,%H
: 小时%i
,%I
: 分钟%s
,%S
: 秒数%n
: 文件名%x
: 文件扩展名 默认为%Y-%M-%D %H-%I-%S_%n%x
。
-c
或--config
: 配置文件路径,可以通过配置文件来指定上面的选项,可以省略一个个繁琐的命令行选项。-e
或--extensions
: 指定需要整理的图片格式,多个格式之间用逗号隔开,如jpg,png
。--verbose
: 显示详细日志。--dry-run
: 模拟整理过程,不会实际移动文件。--help
: 显示帮助信息。
基本用法
下面我们来演示一个简单的例子,将某个目录下所有 jpg 格式的照片整理到另一个目录中。假设我们有如下这样的目录结构:
photos/ ├── IMG_0001.jpg ├── IMG_0002.jpg ├── IMG_0003.jpg ├── IMG_0004.jpg ├── IMG_0005.jpg ├── IMG_0006.jpg └── IMG_0007.jpg
现在我们要将这些照片按照日期分类整理到 dest 目录中,可以使用如下的命令:
organize-photos -s photos -d dest -e jpg
这个命令执行完毕后,dest 目录会变成如下的结构:
-- -------------------- ---- ------- ----- --- ---------- - --- ------------ - --- ------------ --- ---------- - --- ------------ - --- ------------ --- ---------- --- ------------ --- ------------ --- ------------
每个子目录的名称即为照片拍摄日期。
配置文件
有了配置文件,我们可以更加方便地指定 organize-photos 的选项,而不需要一个个地在命令行中输入。创建一个名为 config.json
的文件,内容如下:
{ "source": "photos", "destination": "dest", "format": "%Y-%m-%d/%n%x", "extensions": ["jpg"], "verbose": true }
然后在命令行中执行:
organize-photos --config config.json
organize-photos 就会使用 config.json
文件中指定的选项进行照片整理。
更多选项
除了上面介绍的选项外,@lukekarrys/organize-photos 还支持以下选项:
keep-original
是否保留原文件。该选项默认值为 false,如果为 true,则不会删除原文件。
{ "keep-original": true }
max-depth
整理子目录的最大深度。该选项默认为 Infinity,即整理所有子目录。如果指定了一个数字,则只会整理指定深度以内的子目录。
{ "max-depth": 1 }
ignore-existing
是否忽略已经整理过的文件。默认值为 false,即不忽略已经整理过的文件。如果为 true,则不会处理已经存在于目标目录中的同名文件。
{ "ignore-existing": true }
示例代码
下面是一个示例代码,它会按照日期将一个目录下的 jpg 图片整理到指定目录中:
-- -------------------- ---- ------- ----- -------------- - --------------------------------------- ----- --------- - --- ---------------- ------- ------------- ------------ ----------- ----------- ------- --- ----------------------- -- - -------------------- -------------- -- - ----------------- ---
以上代码等价于在命令行中执行:
organize-photos -s source_dir -d dest_dir -e jpg
结论
@lukekarrys/organize-photos 是一个非常实用的 npm 包,能够帮助我们快速、方便地将照片按照一定规则整理,从而方便我们查找和管理照片。熟练掌握该包的使用方法,不仅能够提高我们的工作效率,还能够让我们更好地组织自己的照片,从容面对照片管理问题。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066bc7967216659e244578