20200109 转-微信聊天中保存的照片的文件名命名规则
整理照片时发现很多微信照片的拍摄日期被抹掉了,没法归类,困扰很久,终于找到一位大神分享的文章,特别转来以作备用.原文链接如下:
https://www.jianshu.com/p/72c08a3d05d4
----------------------------------------转载开始分界线----------------------------------------
整理照片的童鞋,应该经常会遇到在微信聊天中保存的照片、视频吧,然而和手机拍照的照片文件不同,微信中保存的照片文件名无法直接看出日期(不管是拍照日期还是保存到手机的日期)。这给整理照片带来了不小的麻烦,因为文件的创建日期是非常容易被修改的。
但是,细心的你可能已经发现,微信照片文件名的数字也是有含义的。
- 文件命名规则
微信聊天保存的照片的文件名都是mmexport#############.jpg,其中13位数字为时间戳。
13位数字的时间戳是以 1970年1月1日零时 为起点,截至当前时刻(保存该照片的时间)经过的毫秒数。
- 实例
文件名:mmexport1405241187825.jpg
时间戳:1405241187825
对应日期:2014年7月12日(其实是可以对应到具体毫秒的)
- 利用EXCEL和BAT批量修改微信照片文件名
知道了微信文件名的命名规则,我们就可以让电脑自动的、批量的给微信照片文件名上添加上日期,再也不用担心不记得照片的日期了。
这里我使用EXCEL+BAT批处理的方式自动批量修改文件名:EXCEL用来将时间戳转换为日期,BAT处理用来批量修改文件名。
示例
- EXCEL转换时间戳
需要注意的是:EXCEL的单元格日期格式,起始也是一个数字。
该数字是以1900年1月1日为起点,截至当前日期经过的天数。
这和微信文件名的时间戳有时间差。
以mmexport1405241187825.jpg文件名为例,时间戳为1405241187825(单位为毫秒),先把它转化为以天为单位,再加上微信时间戳起始日期(1970年1月1日)与EXCEL日期的起始日期(1900年1月1日)的差额25568天,最后利用TEXT函数将数字转换为日期样式。
EXCEL公式为:=TEXT(ROUND(MID(A2,9,13)/1000/60/60/24,0)+25568,"YYYYMMDD")
具体操作时,可以使用一些工具,或者命令行,导出微信文件名列表,并粘贴到EXCEL中,填充公式就批量完成了。
- 利用BAT文件批量修改文件名
在EXCEL文件中,新增一列,让EXCEL自动生成BAT命令的字符串。
EXCEL公式为:="RENAME "&A2&" wx-"&B2&"-"&A2
向下填充该列单元格,就得到了所有的修改文件名的BAT命令。
将所有的命令复制,粘贴到记事本中,将文件另存为改名.bat文件,关闭记事本。
在资源管理器中双击执行改名.bat文件,微信文件名就自动加上了日期。
- 其他手机APP中保存的照片改名
经过尝试,微信中保存的视频的文件名、支付宝中保存的照片的文件名,其中时间戳与微信照片的规则一致。也可以用以上方式自动批量改名。
-end-
作者:煎熟粽子
链接:https://www.jianshu.com/p/72c08a3d05d4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
---------------------------转载完毕分界线------------------------------
综合上文,增加所需的批处理文件命令,总结如下(如下为傻瓜式教程,按步操作即可):
1 获得待处理的文件名列表:
建立含有如下内容的批处理文件ListAllFileName.bat(通过新建文本文件再修改文件扩展名完成):
@echo off
dir /b /on >list.txt
把ListAllFileName.bat文件和待处理的图片文件放在同一目录下,双击ListAllFileName.bat,会生成一个list.txt文件,里面就是当前目录下所有文件的文件名列表,打开,删除不是要处理的图片文件部分。
2 新建一个excel文件,A列填入待处理的文件名,B列填入如下excel命令:
=MID(A2,9,13)
提取出带时间信息的字符串
C列填入如下excel命令:
=TEXT(ROUND(B2/1000/60/60/24,0)+25568,"YYYYMMDD")
从B列得到的数字推算出日期
D列填入如下excel命令:
="RENAME "&A2&" wx"&C2&"-"&right(B2,4)&".jpg"
生成修改文件名的批处理文件命令行,这里的例子中文件格式为wxYYYYMMDD-原始日期数字串中的末4位.jpg,有能力者可根据自己的喜好修改文件名格式。
4 修改所有文件名。把上一步得到的批处理文件命令行拷贝到文本文件中,生成.bat文件,与待处理的图片文件在同一目录下,双击即可修改文件名了。