转-微信聊天中保存的照片的文件名命名规则 - meiyangsz

时间:2024-02-24 08:01:57

20200109 转-微信聊天中保存的照片的文件名命名规则

整理照片时发现很多微信照片的拍摄日期被抹掉了,没法归类,困扰很久,终于找到一位大神分享的文章,特别转来以作备用.原文链接如下:

https://www.jianshu.com/p/72c08a3d05d4

 

----------------------------------------转载开始分界线----------------------------------------

整理照片的童鞋,应该经常会遇到在微信聊天中保存的照片、视频吧,然而和手机拍照的照片文件不同,微信中保存的照片文件名无法直接看出日期(不管是拍照日期还是保存到手机的日期)。这给整理照片带来了不小的麻烦,因为文件的创建日期是非常容易被修改的。

但是,细心的你可能已经发现,微信照片文件名的数字也是有含义的。

 

  1. 文件命名规则

微信聊天保存的照片的文件名都是mmexport#############.jpg,其中13位数字为时间戳。

13位数字的时间戳是以 1970年1月1日零时 为起点,截至当前时刻(保存该照片的时间)经过的毫秒数。

 

  1. 实例

文件名:mmexport1405241187825.jpg

时间戳:1405241187825

对应日期:2014年7月12日(其实是可以对应到具体毫秒的)

 

  1. 利用EXCEL和BAT批量修改微信照片文件名

知道了微信文件名的命名规则,我们就可以让电脑自动的、批量的给微信照片文件名上添加上日期,再也不用担心不记得照片的日期了。

这里我使用EXCEL+BAT批处理的方式自动批量修改文件名:EXCEL用来将时间戳转换为日期,BAT处理用来批量修改文件名。

示例

  1. 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中,填充公式就批量完成了。

 

  1. 利用BAT文件批量修改文件名

在EXCEL文件中,新增一列,让EXCEL自动生成BAT命令的字符串。

EXCEL公式为:="RENAME "&A2&" wx-"&B2&"-"&A2

向下填充该列单元格,就得到了所有的修改文件名的BAT命令。

将所有的命令复制,粘贴到记事本中,将文件另存为改名.bat文件,关闭记事本。

在资源管理器中双击执行改名.bat文件,微信文件名就自动加上了日期。

 

  1. 其他手机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文件,与待处理的图片文件在同一目录下,双击即可修改文件名了。