首页 > 极客资料 博客日记
DirectoryOpus插件:“照得标管理器”-海量照片分类管理好帮手!
2024-10-15 23:00:03极客资料围观23次
照得标管理器
前言
名词解释:“照得标管理器”,即:照片得到标签管理器,后文统一简称“照得标管理器
”或“照得标
”。
注:请不要和抖音上的“奥德彪”、“王德发”之类联系,我分享的是正经照片-得到-标签-管理器。
有段时间作者赋闲在家,决定把留在电脑上的几万张照片整理一下,尝试过PhotoOrgnizer等免费照片整理软件,但这些软件只会把照片按日期进行简单的归类,搞搞什么时光之类的功能,对于想根据某些关键信息,比如:人名、事件、地点等来找照片却无能为力,最后不得不把被PhotoOrgnizer打乱存放的照片又拷贝了出来,重新进行组织归类, 为了给照片文件名加上关键信息,方便日后查找,尝试写了个DirectoryOpus(后文简称“DOpus”
)的重命名脚本,但在使用过程中又发现照片整理不仅仅是重命名, 有些照片的日期根本不对,元数据丢失、错误、文件名没有日期等各种奇怪的问题,既然为了整理照片,那这些功能也不能缺少,于是废弃了重命名脚本,转向了独立的功能脚本,好在DOpus确实强大,支持脚本创建窗口,那这样就灵活和方便多了,于是一边整理照片一边添加功能,终于把几万张照片整理完了,到现在大半年也懒得去整理新增的照片,“照得标”便一直闲置。
本来“照得标
”不会面世,主要是作者私人使用,但有一天QQ群讨论了个类似“谁是最好的编程语言
”的问题,群里一堆大佬说TC(TotalCommander)才是专业的文件管理器,我说DOpus看着外表普通,但是通吃从小白到专家的所有用户,DOpus才是专业的,并发了一张“照得标”截图以示DOpus扩展性之强,群里几日都安静了,也没有人再争论“谁是最好的文件管理器
”,我便不再关心这事,忽然有天有人加我QQ好友,说是看到我发的截图,又说有个DOpus的用户群,里面都是各种高手和脚本小王子,要把我拉到里面去交流,于是我便在DOpus用户群看到了照得标的截图,群里有人发言对这个脚本感兴趣,希望能够分享~
自用的工具,一般都不会很完善, 很多配置、目录都是写死的,换个人用肯定是用不起来,为了不影响大家的使用感受,也为了减少一些反复的问题咨询,我没有急于分享“照得标”,在分享之前还需要把之前写死的地方优化,完善异常处理,功能测试、以及用户手册编写,这花费了不少时日。
由于水平有限,以及主要定位于作者自用,工具多少会有些功能不合理或者不方便,由于作者以源代码
方式分享“照得标”,您可根据自身的需求去修改源码及增强相关的功能,作者没有义务为用户做特殊的增量开发,如果是合理的通用功能,作者可以考虑但不保证在日后会进行功能升级。
免责声明
作者在使用“照得标”整理自己的几万张照片过程中,并未出现照片丢失和损坏的问题,但并不代表在您的电脑上不会出现照片丢失及损坏的问题,请在使用本脚本前认真阅读用户手册,评估影响及可接受程度,提前做好数据备份。
1. 作者非专业开发者,“照得标”主要服务作者自用场景,受热心网友请求才开放共享,由于能力和水平有限,代码难免被归类为尿山代码
,且很多代码的异常保护作者并没有做,如果出现功能异常或者报错,请您量力而行修改源码或者放弃使用,请不要因使用不顺而谩骂、诋毁、攻击作者本人,如出现这种情况,“照得标”将主动放弃分享。
2. 如因使用本脚本造成数据丢失或文件损坏,作者不承担恢复义务,因此而造成的损失作者不承担连带责任。
更新说明
2024-10-13: 初次分享。
系统要求
- Windows 10: 本工具基于Windows 10开发 , Win7、Win11等系统未经过验证,不确保可以正常使用。
- DirectoryOpus 13.5+: 明确不支持DirectoryOpus 12及之前的版本。
安装说明
步骤1:下载附件,并解压到本地,得到如下两个文件
dlg文件是窗口资源文件,vbs文件是“照得标
”的主程序。
下载地址:
c58cd475001ba92734cc0ddfd428d0ca DOpus插件-照得标管理器.zip
由于“照得标”涉及到文件操作,兹事体大,请从本文提供的地址下载,防止被人注入恶意代码造成损失!因下载途径非本文提供,造成您的文件丢失、损坏、感染病毒等,本人不负任何责任,也不提供任何技术支持!
步骤2:在DOpus的工具栏上单击鼠标右键,在弹出的菜单上选择“自定义”,如下图所示:
步骤3: 再次在DOpus的工具栏上单击鼠标右键,在弹出的菜单上选择“新建-> 新建按钮”,如下图所示:
执行完成后在工具栏上会出现新的按钮,如下图所示:
步骤4:在新的按钮上单击鼠标右键,选择菜单“编辑”菜单,如下图所示:
步骤5:在弹出的“命令编辑器”窗口进行如下设置
- 在“标记”编辑框中输入本工具的名称“照得标管理器”,当然,你也可以自由发挥。
- 鼠标在“快捷键”编辑框单击,并按下自己喜欢的快捷键。
- 在“类型”下拉列表框中选择“脚本功能”。
- 选中“脚本代码”标签页,将
照得标管理器.vbs
文件全部内容拷贝到该标签下的编辑窗口。(注意:先清空该编辑窗口)
使用任意文本编辑器打开“照得标管理器.vbs”后进行复制,“照得标管理器.dlg”文件的处理也相同。
- 选中“资源”标签页,将
照得标管理器.dlg
文件全部内容拷贝到该标签下的编辑窗口。(注意:先清空该编辑窗口) - 单击如图中标注⑥处的图标,选择自己喜欢的图标。(本步骤可以省略)
- 单击屏幕右上方的“√”按钮,即可完成“照得标”的安装,如下图所示:
此时,单击工具栏上新创建的按钮,即可打开“照得标”主窗口。
“照得标”的配置文件保存在`C:\Temp`目录,如果目录不存在, 工具会自动创建,请不要删除。初次使用会提示XML配置文件不存在,并会由工具自动创建,不需要用户进行手工操作。
功能介绍
主功能介绍
“照得标
”主要分为4大功能块:
-
文件重命名: 给照片文件名加上关键字,比如:时间、地点、人物、事件等,方便日后查找。PS:很抱歉没有起因、经过、结果。
-
文件归类:将文件移动到指定的文件夹中,特别是一些生活类的截图,比如:快递单据、购物发票等,可以快速移动到单据或者发票文件夹。
-
修复照片时间:由于有些照片经过网络传递后,本来的时间信息错乱了, 比如有些微信图片,文件名就是一串数字,文件中的修改时间也不是图片真实的发生时间,甚至有些图片经过网络传递后元数据也丢失了,为了方便日后的管理 ,这些图片需要重新在文件名、元数据等中恢复真实的时间。
-
筛选:定制的一些与当前选中文件关联的筛选功能,比如:筛选相同日期的图片、筛选不包含标签的文件等
下文将逐一介绍具体功能。
文件重命名
通过单击在安装章节新创建的“照得标”按钮
,或按下设定的快捷键,即可弹出“照得标
”主窗口,如下图所示
步骤1: 在DOpus文件窗口选中需要处理的照片文件
选择照片和打开“照得标”没有先后顺序,可以一直打开“照得标”窗口,在DOpus文件窗口选择不同文件分批添加标签。见图中标注①。
🕮说明:“照得标”窗口显示在顶层,但仍然可以正常在DOpus中执行操作。
步骤2:在“照得标”窗口中输入标签信息
分类:照片文件名添加分类信息,比如:工作、生活、旅游、单据、发票等,分类可以在“设置”窗口中自行增删。
时间:默认把形如“2022.10
”格式的年月信息添加到加到文件名,如果用户想输入自己的时间,可以在“设置”窗口把“使用文件时间”复选框去掉,然后手工输入。
- “照得标”会检查用户输入的时间和照片实际时间是否一致,如果不一致“照得标”会提醒用户不一致,是否强行将文件名加上用户自己输入的时间标签。
- 用户输入的时间不一定是形如“2022.10”的年月信息,也可以是“冬月”、“腊月”、“正月”等随意的信息,但“照得标”会提醒用户这个时间和文件时间不一致,用户选择强制执行则会给文件名加标签成功。
地点:输入照片的拍摄地点,可以自由定义,一般建议城市+具体小地方,比如:深圳.莲花山。
🕮说明:有人可能想通过照片的“经度”和“纬度”自动填充地点,这个会涉及到使用网络API,目前没有找到什么好用的API,如果您有合适的API,可以尝试自行添加经纬度换地名的功能。
人物:输入照片的人物信息,方便日后自己查找,比如:大宝、二宝等。
事件: 输入照片发生的背景,比如:春节游黄山、暑假游大理等。
拍摄人:默认使用照片元数据中的相机型号信息,您也可以自己输入拍摄人,比如:玫瑰相馆。
🕮说明:自己输入“拍摄人”时,需要在“设置”窗口把“读取文件拍摄人”复选框去掉。
步骤3:预处理
🕮说明:本步骤不是必要操作,可以根据个人使用习惯选择性操作,见图中标注③。
读取相机: 将选中文件(选中多个只读第1个)的相机型号信息读取到编辑框。
🕮说明:- “读取相机”不需要手工操作,“照得标”在添加标签时会自动读取每个文件的相机信息并添加到文件标签中。
- 为什么有些相机型号显示的是“ELE-AL00”这种看不懂的信息?这是因为有些手机给照片里添加的就是这种型号ID,需要在网上查找对应的手机名称,然后在“设置”页面进行配置。
载入文件标签:有些照片文件,已经添加了标签,但是又觉得不合适,想改一下某个字段,从头再输入一遍?虽然也不多,但让我手工输入是不可能输入的,一辈子也不可能。因此,这个按钮可以把已经打标签的文件上的标签重新填到编辑框,用户只需要修改对应的字段即可。
预览: DOpus的文件重命名都有预览功能,那“照得标”必须也要有,点了之后你可以在“照得标”的日志窗口提前看到更名结果。
步骤4:文件重命名
单击“加标签”按钮将,“分类”、“时间”、“地点”、“人物”、“事件”、“拍摄人”等信息添加到选中的文件名上。
“冲洗
”按钮将“冲洗”字样添加到文件名上,这样可以快速筛选要去冲洗的照片。
“用户标记
”按钮可以将用户指定的标记添加到文件名上,请在按钮旁边的编辑框输入自定义内容。
“去冲洗
”按钮将文件名上的“冲洗”字样删除掉。
其他功能说明
“日志
”主要显示预览信息,及文件改名结果信息。
“历史
”列表框中会记录最近50条不重复的标签记录, 双击列表可以将相关信息填写到左边的编辑框中,减少用户手工输入。
演示动画
文件更名:加标签文件归类
文件归类主要是对选中的照片文件快速移动到指定的目录
,比如:用户可以自己定义一些常用目录用来存放“收据”、“快递单据”等
快捷移动
快捷移动: 点击按钮即可将选中文件移动到按钮对应的目录
,最大支持自定义5个快捷移动按钮。
为什么不全部搞成按钮,为什么只搞5个按钮? 一切为了效率, 这里的5个按钮是最常用的目录,用于管理生活类的图片或截图, 比如:快递收据、家电说明书、银行App截图等, 按钮太多了也非常难找,影响效率。
按路径列表移动
图中标注②所示,双击
其中的列表项时,选中的文件
会自动移动到列表对应的目录
路径列表是用户配置的常用路径,路径列表可能有很多条(注:上限未经过测试)。
注:只要整理的照片足够多,就会用到很多条路径列表。
路径列表管理
“添加
”按钮:在“名称”编辑框输入目录名称,请不要带特殊字符,名称的作用主要是在添加快捷移动按钮时,可以给按钮显示名字。
“修改
”按钮:先在路径列表中选中要修改的项、此时“名称”和“路径”编辑框会自动填写当前数据,用户可以根据实际情况修改。
“删除
”按钮:先在路径列表中选中要删除的项,单击该按钮即可删除相关的目录配置。
“校验
”按钮:当用户磁盘上的目录被移动、删除、改名等,造成列表中的目录不再存在,此时可以通过“校验”按钮来检查哪些目录项已经不正确了,需要进行修改或者删除,“校验”按钮执行后,列表中存在错误的项会通过颜色标注。
“移入
”按钮:将选中的文件,移动到路径列表中选中项的目录。
管理快捷按钮
“绑定
”按钮:先在路径列表中选中想要添加到快捷按钮的路径,单击“绑定”按钮,将会在“快捷移动”栏添加一个按钮。
“解绑
”按钮:如果快捷按钮对应的目录不再常用,可以通过“解绑”按钮删除对应的按钮,再通过“绑定”按钮添加新的快捷按钮。
- 由于窗口空间有限,快捷移动按钮最大只支持5个。
- 修改路径时,如果路径不存在,会弹出错误提示。
演示动画
文件归类:路径及按钮配置修复时间
某此情况下,一些早年照片经过网络传递后(比如:微信、QQ),照片的原始文件名会丢失、照片元数据(即:EXIF)也会丢失,此时照片文件上的时间信息只有文件的创建时间、修改时间,而这些时间由于在存储介质上的不断转移,会变得和真实照片的发生时间无法对应,即:照片发生的时间是2013年,但是现在创建时间和修改时间可能变成了2024年,在还没有遗忘的时候,把这些照片的真实时间进行修复就变得很有必要。
一般来说,存储到本地的照片,时间信息附加在“文件名
”和“元数据
”两个地方是比较可靠一点的,尽量不要依赖创建时间和修改时间来管理照片的时间信息, 好在现在的手机拍照文件名都会把日期和时间带上,元数据也是完整的;相机拍照情况就会复杂一点,比如:相机经常换电池,换完电池相机的日期/时间也重置了,如果忘记重新调回来,那这相机拍的照片,时间日期信息就不准了,要人工修复。
照片时间的修复,往往无法做到完全还原到真实发生时刻,有赖于照片所有者的记性,以我处理几万张照片的经历,总有一小部分老照片,实在没有线索,这时能恢复到正确的月份就不错了,时间就看照片上的光景自己估计一个,对于完全没有时间线索的照片,不必刻意追求时间的精确性。
时间来源
“输入框
”:时间的来源为右边“时间序列”编辑框,时间格式为yyyymmddHHMMSS
。
“文件名
”:时间来源为文件名,如:“1493528743727.jpg”、“IMG_20240301_130741.jpg”。
“修改时间
”:有些照片文件名没有时间,元数据也没有时间,照片的修改时间看着还比较靠谱,那就用修改时间吧,这是个将就的做法,因为相对“文件名”和“元数据”来说“修改时间”是最不靠谱的。
“元数据
”:元数据是嵌入在图片中的信息, 一般不容易丢失,也是准确度最高的时间来源。
时间来源非常重要,请一定要搞清楚哪个时间是正确的,否则,覆盖之后再也无法找回。 当时间来源使用“输入框”时,可能有一批次的图片都要在文件名加时间戳,所有文件的时间戳都和输入框中的一样,这样有两个问题:
- 你的相机中没有两张照片的时间戳是一样的,这不符合事实。
- 在文件名规整到形如“IMG_20240301_130741.jpg”的文件时,由于日期时间全部相同,会产生冲突。
修复操作
修复文件创建时间
单击“修复文件创建时间”按钮,即可把文件的“创建时间”和修改时间,改为“时间来源”中的时间。
注意:既然是修复文件的创建和修改时间,那时间来源就不能为“修改时间”,自己修改成自己没有意义。
文件名加时间戳
有些图片文件,经过网络传递后,文件名已经不再包含时间信息,如:小样.jpg
,而最好的文件名应该类似:“IMG_20240301_130741.jpg
”,怎么给文件名上加上时间信息呢?
比如:有文件1493528743727.jpg
,通过看图工具或者DOpus自带的图片窗口,发现图片没有元数据,而文件名貌似是一串Unix时间戳,故“时间来源
”尝试设置为“文件名
”,单击“文件名加时间戳”按钮,新的文件名变成“IMG_20170430_130543_1493528743727.jpg
”
文件名加时间戳并没有删除原始的文件名信息,而是选择在前面或者后面添加时间戳,如果在前面加时间戳,则会加IMG_前缀。
- 如果照片明明是大白天,但加的时间戳却是晚上,那你可以填写“偏移”量。
- 文件名加时间戳的时间来源可以是任一来源。
修复元数据时间
提醒:修复元数据是高危操作,一旦操作失误,可能元数据就再也找不回来了!请谨慎执行该操作!
⚠️注意:- 仅当图片元数据不包含时间信息时才建议执行本操作(注:如果图片元数据有时间,那这个时间一般都是正确的,不需要修改)
- 修复元数据时间的来源不能是“元数据”,请确保时间来源的正确性,特别是使用输入框来源时,请确保输入的正确性。
规整图片名称
单击“规整图片名称
”按钮,文件名会被规范成IMG_yyyymmdd_HHMMSS.jpg
的格式,比如上文中的“IMG_20170430_130543_1493528743727.jpg”将会规整成“IMG_20170430_130543.jpg”。
注:标签信息不会被清理掉。
筛选
手机图片备份到电脑时,目录里往往有几千张图片,在整理这些图片时比较高效的做法是以“天”为单位整理,因为1天往往对应一个事件,所以,在整理第一张图时,就希望把所有和这张图同一天的照片过滤出来。
“筛选”功能主界面如下图所示:
筛选同一天的图片
选中一张照片,单击“日期相同”按钮,DOpus文件管理器窗口将只显示日期与刚才选中文件相同的照片。
🕮说明:- 文件没有删除,这里只是调用了DOpus的过滤接口,如果要恢复,只需要在DOpus窗口按F5键。
- 照片的文件名必须是形如:IMG_yyyymmdd_HHMMSS,或者至少含有yyyymmdd_HHMMSS格式的信息。
筛选“日期和时间相同”、“月份相同”的操作与筛选“日期相同”类似,这里不再敷述。
“不包含标签”按钮用于过滤还没有来得及添加标签的文件,这样用户就可以不用在一堆文件里找哪里文件还没有加标签。
OCR筛选
好消息是:你没有看错,可以根据图片的文字信息进行筛选!
坏消息是:由“照得标
”逐一照片调用API进行文字识别,我嫌这个时间太长了,等不起!所以把这个太慢的功能做完了又删除了!
做为补救,需要用户动动发财的小手,使用Umi-OCR进行批量文字识别,操作过程如下图所示,由于太简单,这里就不展开。
前置条件:Umi-OCR批量识别
文字过滤
当Umi-OCR批量识别完成后,就会在图片目录中生成一个[OCR]_XXXXXXXXX_XXXXXXXX_XXXX.txt
的文件,“照得标
”正是读取了这个文件才能根据文本过滤图片。
文字过滤使用场景:
当你手机照片、截图备份到电脑后,特别是屏幕截图里面会有大量的信息,比如:银行的支付信息、火车票等等,你可能需要快速把这些照片分类管理,通过“照得标
”的“OCR筛选”关键字“银行”,即可快速把所有包含“银行”字样的图片筛选出来。
设置
主要包含文件重命名设置、手机型号管理、分类管理,如下图所示:
文件重命名设置项
“使用文件时间”: 前文已经介绍,如果该选项选中,则在加标签时不需要用户输入时间;而该选项去掉时,则用户需要手动输入时间,此时的时间格式可以任意设置(注:不要输入非法字符)。
“读取文件拍摄从”:前文已经介绍,如果选中,则加标签时读取照片元数据中的手机/相机型号;而该选项去掉时,用户可以随意输入拍摄人(注:不要输入非法字符)。
“时间戳在前”: 前文已经介绍,该选项影响时间修复特性,在给文件名加上时间戳时,可以选择将时间戳放在文件开头或者结尾,放在开头时,会在时间戳前面再加一个“IMG_”前缀。
“包含相机商名称”:在“拍摄人”字段读取手机/相机型号时,是否要包含厂商的名称,比如:Cannon, Sony等,建议不要包含了,太长了!
手机型号管理
如果你发现“拍摄人”字段很不爽,显示的玩意你看不懂,那你在网上查一下,把相关的ID和名称的映射在这添加一下。
“增加”、“修改”、“删除”就不介绍了。
“过滤”功能: 如果在“ID”编辑框输入关键字,就按ID过滤, 如果在“名称”编辑框输入关键字,就按名称过滤,如果都输入了,还是按ID过滤。
“导入”: 如果手机/相机的映射信息保存在文本文件中,则可以通过“导入”的方式批量添加记录。
🕮说明:- 手机/相机型号文件必须是文本,且文本文件的编码必须是GB2312,否则导入的中文都会是乱码!
分类管理
分类管理主要是增、删、改,有对应的按钮,并且修改后在首页选择分类时会立即生效。
已知问题
问题1:主窗口单击标题栏上的“X”按钮无法关闭窗口。
答疑:
从标题栏叉掉无法进入到退出事件,导致无法自动保存已经修改的配置,所以标题栏的叉叉功能被屏蔽掉了,可能会有用户质疑,既然叉叉不能用了,为什么不把叉叉给隐藏掉呢?还让用户看得见,然后去点,不是多此一举吗? OK,不是作者不想隐藏掉, 是没有找到接口隐藏叉叉。
替代方案:
单击窗口右下角的“退出
”按钮。
补充
“照得标
”好像也可以管理视频文件、音频文件,用户可以自行尝试,尝试前请记得先备份,功能熟悉了再开始整活。
文档作者声明:本文档仅用于学习交流,未经作者许可,不得将本文档用于其他目的。
Copyright © 2022~2024 All rights reserved.
标签:
相关文章
最新发布
- Nuxt.js 应用中的 prerender:routes 事件钩子详解
- 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit
- 六、Spring Boot集成Spring Security之前后分离认证流程最佳方案
- 《JVM第7课》堆区
- .NET 8 高性能跨平台图像处理库 ImageSharp
- 还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!
- 刚毕业,去做边缘业务,还有救吗?
- 如何避免 HttpClient 丢失请求头:通过 HttpRequestMessage 解决并优化
- 让性能提升56%的Vue3.5响应式重构之“版本计数”