☆─────────────────────────────────────☆
passbyer (扯淡王) 于 (Sun Feb 8 12:27:31 2026) 提到:
有若干微信导出的图片文件,文件名为mmexport11111(13位数字),
豆包搜了一下,按照如下步骤
步骤 1:确认 TC 版本
打开 TC → 帮助 → 关于 Total Commander,确认版本≥9.50(低于此版本建议升级,
或用备选方案)。
步骤 2:批量重命名配置(核心)
选中目标文件,按Ctrl+M打开「多功能重命名工具」;
切换到「搜索和替换」标签,勾选「使用正则表达式」:
「查找」框:mmexport(\d{10})\d{3}\.([a-zA-Z0-9]+)
(拆分 13 位时间戳:捕获前 10 位秒级 + 忽略后 3 位毫秒,同时捕获扩展名)
「替换」框:$1.$2(仅保留 10 位时间戳 + 原扩展名);
切换到「重命名掩码」标签:
「文件名」框:[=tc:formatdate($1, "yyyy-mm-dd_hh-nn-ss")]
($1 是步骤 2 捕获的 10 位秒级时间戳,格式可自定义)
「扩展名」框:[E](保留原扩展名,如 jpg/png);
点击「预览」确认新文件名(如2017-08-02_10-09-30.jpg),无误后点击「开始」。
结果不行,报错,确认版本是9.51,不知道怎么回事。请教。
☆─────────────────────────────────────☆
pinacle (up up 2012) 于 (Sun Feb 8 13:29:41 2026) 提到:
确定自己知道在做什么?TC恐怕搞不定吧,我是让AI帮我写了个python脚本,然后再用TC批量重命名
# Usage: python rename_wechat_images.py <directory>
import os
import time
import re
import sys
def get_new_filename(prefix, formatted_time, extension, root):
new_name = f"{prefix}_{formatted_time}{extension}"
new_file_path = os.path.join(root, new_name)
counter = 1
while os.path.exists(new_file_path):
new_name = f"{prefix}_{formatted_time}_{counter}{extension}"
new_file_path = os.path.join(root, new_name)
counter += 1
return new_file_path
def rename_wechat_images(directory):
# 递归遍历目录及其子目录
for root, _, files in os.walk(directory):
for filename in files:
# 初始化变量
prefix = None
timestamp = None
# 先尝试匹配简单格式:mmexport1704350068607.jpg 或 wx_camera_170
4350068607.jpg
simple_match = re.search(r'(mmexport|wx_camera_)(\d{13})', filen
ame)
# 尝试匹配复杂格式:mmexportf9f9dc63dc411f04046520ce42db2b3b_175
2719934464.jpeg
complex_match = re.search(r'(mmexport|wx_camera_)([a-f0-9]+)_(\d
{13})', filename, re.IGNORECASE)
if simple_match:
prefix = simple_match.group(1)
timestamp = int(simple_match.group(2))
elif complex_match:
prefix = complex_match.group(1)
timestamp = int(complex_match.group(3))
if timestamp:
# 将毫秒级时间戳转换为秒级时间戳
timestamp_seconds = timestamp // 1000
# 转换为本地时间
local_time = time.localtime(timestamp_seconds)
# 格式化为 YYYYMMDD_HHMMSS
formatted_time = time.strftime('%Y%m%d_%H%M%S', local_time)
# 获取新的文件路径
old_file_path = os.path.join(root, filename)
new_file_path = get_new_filename(prefix, formatted_time, os.
path.splitext(filename)[1], root)
# 重命名文件
os.rename(old_file_path, new_file_path)
print(f'Renamed: {old_file_path} -> {new_file_path}')
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: python rename_wechat_images.py <directory>")
sys.exit(1)
directory = sys.argv[1]
if not os.path.isdir(directory):
print(f"The specified path '{directory}' is not a valid directory.")
sys.exit(1)
rename_wechat_images(directory)
【 在 passbyer 的大作中提到: 】
: 标 题: 请教批量重命名mmepxort...的问题
: 发信站: 水木社区 (Sun Feb 8 12:27:31 2026), 站内
:
: 有若干微信导出的图片文件,文件名为mmexport11111(13位数字),
:
: 豆包搜了一下,按照如下步骤
:
: 步骤 1:确认 TC 版本
:
: 打开 TC → 帮助 → 关于 Total Commander,确认版本≥9.50(低于此版本建议升级,
: 或用备选方案)。
:
: 步骤 2:批量重命名配置(核心)
:
: 选中目标文件,按Ctrl+M打开「多功能重命名工具」;
:
: 切换到「搜索和替换」标签,勾选「使用正则表达式」:
:
: 「查找」框:mmexport(\d{10})\d{3}\.([a-zA-Z0-9]+)
:
: (拆分 13 位时间戳:捕获前 10 位秒级 + 忽略后 3 位毫秒,同时捕获扩展名)
:
: 「替换」框:$1.$2(仅保留 10 位时间戳 + 原扩展名);
:
: 切换到「重命名掩码」标签:
:
: 「文件名」框:[=tc:formatdate($1, "yyyy-mm-dd_hh-nn-ss")]
:
: ($1 是步骤 2 捕获的 10 位秒级时间戳,格式可自定义)
:
: 「扩展名」框:[E](保留原扩展名,如 jpg/png);
:
: 点击「预览」确认新文件名(如2017-08-02_10-09-30.jpg),无误后点击「开始」。
:
:
: 结果不行,报错,确认版本是9.51,不知道怎么回事。请教。
:
:
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 123.112.67.*]
☆─────────────────────────────────────☆
passbyer (扯淡王) 于 (Sun Feb 8 18:47:09 2026) 提到:
微信导出的照片,名称都是
mmexport1718992126141.jpg这样的,
我想转换为yyyymmdd-hhnns.jpg这样的
量非常大,想用totalcommander的批量重命名功能解决,
不想找专门的软件。
【 在 mthpe 的大作中提到: 】
: 不知道你在说啥
: 建议直给
: 至少我是不愿慢慢阅读理解你在干什么,想要干什么
: ...................
☆─────────────────────────────────────☆
mthpe (mthpe) 于 (Sun Feb 8 19:21:31 2026) 提到:
您还真惜时,发完贴就下线;
就您这沟通态度,估计网上求助得到完整帮助的机会比较少吧
我上面的回复删除,您继续等有缘人吧
【 在 passbyer 的大作中提到: 】
: 微信导出的照片,名称都是
: mmexport1718992126141.jpg这样的,
: 我想转换为yyyymmdd-hhnns.jpg这样的
: ...................
☆─────────────────────────────────────☆
huhu (水木你好水木再见) 于 (Wed Feb 11 15:39:01 2026) 提到:
「文件名」框:[=tc:formatdate($1, "yyyy-mm-dd_hh-nn-ss")]
这一步,TC怎么能知道 $1 怎么转换到日期和时间?
【 在 passbyer 的大作中提到: 】
: 标 题: 请教批量重命名mmepxort...的问题
: 发信站: 水木社区 (Sun Feb 8 12:27:31 2026), 站内
:
: 有若干微信导出的图片文件,文件名为mmexport11111(13位数字),
:
: 豆包搜了一下,按照如下步骤
:
: 步骤 1:确认 TC 版本
:
: 打开 TC → 帮助 → 关于 Total Commander,确认版本≥9.50(低于此版本建议升级,
: 或用备选方案)。
:
: 步骤 2:批量重命名配置(核心)
:
: 选中目标文件,按Ctrl+M打开「多功能重命名工具」;
:
: 切换到「搜索和替换」标签,勾选「使用正则表达式」:
:
: 「查找」框:mmexport(\d{10})\d{3}\.([a-zA-Z0-9]+)
:
: (拆分 13 位时间戳:捕获前 10 位秒级 + 忽略后 3 位毫秒,同时捕获扩展名)
:
: 「替换」框:$1.$2(仅保留 10 位时间戳 + 原扩展名);
:
: 切换到「重命名掩码」标签:
:
: 「文件名」框:[=tc:formatdate($1, "yyyy-mm-dd_hh-nn-ss")]
:
: ($1 是步骤 2 捕获的 10 位秒级时间戳,格式可自定义)
:
: 「扩展名」框:[E](保留原扩展名,如 jpg/png);
:
: 点击「预览」确认新文件名(如2017-08-02_10-09-30.jpg),无误后点击「开始」。
:
:
: 结果不行,报错,确认版本是9.51,不知道怎么回事。请教。
:
:
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 123.112.67.*]
☆─────────────────────────────────────☆
mthpe (mthpe) 于 (Wed Feb 11 16:29:33 2026) 提到:
如图
【 在 huhu 的大作中提到: 】
: 「文件名」框:[=tc:formatdate($1, "yyyy-mm-dd_hh-nn-ss")]
: 这一步,TC怎么能知道 $1 怎么转换到日期和时间?
☆─────────────────────────────────────☆
huhu (水木你好水木再见) 于 (Wed Feb 11 16:49:48 2026) 提到:
哈哈,这这含义了
不管怎么说TC无法知道 1970/1/1 为时间起点这样的信息的吧
【 在 mthpe 的大作中提到: 】
如图
【 在 huhu 的大作中提到: 】
: 「文件名」框:[=tc:formatdate($1, "yyyy-mm-dd_hh-nn-ss")]
: 这一步,TC怎么能知道 $1 怎么转换到日期和时间?
☆─────────────────────────────────────☆
mthpe (mthpe) 于 (Wed Feb 11 20:34:18 2026) 提到:
可以知道,比如界面中的[YMD]
但这与主题应该不是一个概念,有些情况会发生变化(我记得fat32→ntfs会发生)
【 在 huhu 的大作中提到: 】
: 哈哈,这这含义了
: 不管怎么说TC无法知道 1970/1/1 为时间起点这样的信息的吧
: 如图
: ...................
☆─────────────────────────────────────☆
mthpe (mthpe) 于 (Sun Feb 15 20:04:48 2026) 提到:
wsl完美解决,感谢 @happyTC @HANNING 两位大佬带来的灵感
☆─────────────────────────────────────☆
passbyer (扯淡王) 于 (Mon Feb 16 10:15:50 2026) 提到:
用另外一个不得已的办法解决了,在macos下,将需要改名的文件,放到一个目录下,比
如download,然后在终端中运行:
cd ~/Downloads && for file in mmexport*; do [ -f "$file" ] && fn="${file%.*}
" && ext="${file##*.}" && ts="${fn#mmexport}" && ts="${ts:0:10}" && newname=
$(date -r "$ts" +"%Y%m%d %H%M%S")."$ext" && mv -n "$file" "$newname"; done
至于为何是macos,是因为我的totalcommander是运行在parallel desktop里的,也算是
一个勉强能解决问题的办法。
【 在 mthpe 的大作中提到: 】
: wsl完美解决,感谢 @happyTC @HANNING 两位大佬带来的灵感
☆─────────────────────────────────────☆
mthpe (mthpe) 于 (Mon Feb 16 10:34:35 2026) 提到:
macos支持rename
还是那句话:您太惜时了;就算给了钱的甲方,这种行为也不可接受,更遑论这种不给钱的白剽?
且,您这不是还是借用了其它工具?
【 在 passbyer 的大作中提到: 】
: 用另外一个不得已的办法解决了,在macos下,将需要改名的文件,放到一个目录下,比
: 如download,然后在终端中运行:
: cd ~/Downloads && for file in mmexport*; do [ -f "$file" ] && fn="${file%.*}
: ...................
☆─────────────────────────────────────☆
mthpe (mthpe) 于 (Mon Feb 16 10:48:55 2026) 提到:
顺便说我开始用的方法吧:tc+vim
tc(搜索)将需要改名的集中在同一面板中,调用vim,然后替换::%s/\vmmexport\zs\d{13}/\=strftime("%Y-%m-%d_%H-%M-%S",submatch(0)[0:9])/
退出(保存),然后tc就可以预览并点开始了
【 在 passbyer 的大作中提到: 】
: 用另外一个不得已的办法解决了,在macos下,将需要改名的文件,放到一个目录下,比
: 如download,然后在终端中运行:
: cd ~/Downloads && for file in mmexport*; do [ -f "$file" ] && fn="${file%.*}
: ...................
☆─────────────────────────────────────☆
mthpe (mthpe) 于 (Mon Feb 16 10:54:18 2026) 提到:
为什么要用vim:是因为tc本身不支持转换时间戳,需要别的插件(搜了下,网上说有个calc.wdx插件?)来进行
【 在 mthpe 的大作中提到: 】
: 顺便说我开始用的方法吧:tc+vim
: tc(搜索)将需要改名的集中在同一面板中,调用vim,然后替换::%s/\vmmexport\zs\d{13}/\=strftime("%Y-%m-%d_%H-%M-%S",submatch(0)[0:9])/
: 退出(保存),然后tc就可以预览并点开始了
: ...................
☆─────────────────────────────────────☆
passbyer (扯淡王) 于 (Mon Feb 16 14:47:01 2026) 提到:
需要调用vim,我以为tc有内部的解决方案。
【 在 mthpe 的大作中提到: 】
: 顺便说我开始用的方法吧:tc+vim
: tc(搜索)将需要改名的集中在同一面板中,调用vim,然后替换::%s/\vmmexport\zs\d{13}/\=strftime("%Y-%m-%d_%H-%M-%S",submatch(0)[0:9])/
: 退出(保存),然后tc就可以预览并点开始了
: ...................
☆─────────────────────────────────────☆
mthpe (mthpe) 于 (Mon Feb 16 14:58:17 2026) 提到:
作用就是插件
那么请问:TC的插件算tc的功能还是插件的功能?
同时,我也说了:有另外的插件,关键是:你到底是认为这算不算引入了其他软件
引用PS、python等代码也可实现,请问这算TC的功能还是PS\python的功能?
【 在 passbyer 的大作中提到: 】
: 需要调用vim,我以为tc有内部的解决方案。
☆─────────────────────────────────────☆
mthpe (mthpe) 于 (Mon Feb 16 15:08:13 2026) 提到:
有一软件,不知你用不用,叫winscp,它有对远程服务器文件有查找、重命名等功能;我扫
过一眼:调用的是ps代码,请问:这算它本身的功能吗?
【 在 mthpe 的大作中提到: 】
: 作用就是插件
: 那么请问:TC的插件算tc的功能还是插件的功能?
: 同时,我也说了:有另外的插件,关键是:你到底是认为这算不算引入了其他软件
: ...................
☆─────────────────────────────────────☆
webhost (webhost) 于 (Tue Feb 17 00:27:41 2026) 提到:
手机里写了个app,重命名连带修改照片exif信息,不然上传到相册,排序不对。
【 在 passbyer 的大作中提到: 】
: 有若干微信导出的图片文件,文件名为mmexport11111(13位数字),
: 豆包搜了一下,按照如下步骤
: 步骤 1:确认 TC 版本
: ...................
☆─────────────────────────────────────☆
mthpe (mthpe) 于 (Tue Feb 17 07:45:51 2026) 提到:
说到exif,包括tc自身,是有插件提供包括创建时间修改时间等信息的,不过事先我大概观察过:复制到电脑上的话好像有时信息(创建时间)会变(直观感受就是重命名后与原手机命名不一致,有点飄);主要我手机app命名照片的规则与lz的最终要求有点接近,无法深入验证;
直接用这个提供的信息就可以实现(但插件提供的信息不是直接来自文件名)主题要求;
如果不是基于上面原因,这个主题也不会拉胯到现在
另,以LZ的嘴硬程度,也不清楚说这个会不会直接被批与原要求(从文件名获取)不一致,嘿嘿
【 在 webhost 的大作中提到: 】
: 手机里写了个app,重命名连带修改照片exif信息,不然上传到相册,排序不对。
FROM 123.112.67.*