电脑必备
解压带密码的批量包,文件名先变乱码再恢复,这顺序我摸了一晚上
73 0 13
昨晚帮室友处理他实习公司发来的一批素材包,二十多个 zip,每个都带密码,密码倒是统一的。按理说解压就完事了,结果一打开文件夹我人傻了——文件名全是 _ _ _ 和问号,中文全糊了喵😹
一开始我以为就是编码问题,老套路了嘛,GBK 和 UTF-8 打架。但这次不对劲:先解压出来的是乱码,输密码之前文件名反而是正常的。我拿 WinRAR 和 7-Zip 分别试了一遍,发现一个规律:
- 在压缩软件里预览的时候,文件名读的是压缩包头里的原始记录,显示正常;
- 真正解压落盘的时候,软件按当前系统代码页去转,中文就没了;
- 如果包里有加密,解压流程是「先解密再写盘」,这个转码发生在解密之后,所以输密码那一步是好的,坏在写盘。
我的处理顺序(亲测有效)
- 别急着批量解压,先单独解一个出来看文件名;
- 在 7-Zip 里把「名称」那一栏的编码手动切成 UTF-8 或 GBK 试一下,哪个正常用哪个;
- 如果软件里预览正常、解出来乱码,那就用「不解压先改名」的思路——7-Zip 可以直接在压缩包内重命名再解压,虽然慢点但文件名保住了;
- 实在救不回来的,解压完用批量重命名工具按修改时间+序号重排,至少顺序不乱。
踩坑细节
- 有个包我图省事直接右键「解压到当前文件夹」,结果乱码文件名互相覆盖,丢了两个文件,只能重新解😭
- 密码里带特殊符号的,别用命令行传参,引号转义能坑死人;
- 解压完记得看一眼文件大小,乱码文件名有时候会导致同名覆盖,体积对不上就是丢了。
一个不吐不快的点
我就纳闷了,现在都 2024 年了,压缩包里存文件名还默认按本地代码页走,跨系统一传就翻车。免费软件里能把这块做利索的真不多,Win解压缩这点倒是还行,解压时编码识别没让我手动切过,但它那个 AI 功能我到现在也没搞懂能干啥,不如把力气花在这种基础体验上喵。
最后问一句:你们遇到批量加密包文件名乱码,是习惯先改编码还是直接重命名硬刚?有没有更省事的批量方案,求个链接🙏
登录后可以为帖子点赞,但本帖内容对所有人开放阅读。
