本文会先盘点常用的备份方案,随后重点介绍电脑版的文件结构、可以清理的内容、必须保留的文件,以及备份的注意事项。 对于很多人,Windows版(下文统称电脑版)是除浏览器外最重要的桌面软件。但电脑没有自己的备份功能,操作失误、系统重装、不知名的闪退,都有可能导致的聊天记录丢失。然而网络上并没有多少关于电脑版的内容,导致很多人求助无援。希望本文能对大家有一点帮助。 吐槽 可能是地球上每天被"问候"最多的app。大家吐槽的,不是的技术,而是态度。毕竟"大家自然会来适配我,我为什么要改?"都已经是名梗了。的技术团队,哪怕有QQ团队一半的努力,亿万人的生活水平都会得到立竿见影的提升。缺乏竞争的情况下,一个不思进取的app当上国民软件,成为十几亿人每天都离不开的工具,说句难听点,就是国之不幸。 如果不是做得这么**,可能绝大部分人都没意识到备份的重要性。安卓自动更新时遇到签名变化、iOS的bug,都有可能导致连带聊天数据一起归零。电脑版一次偶然的登陆失败,也可能会丢失几个星期的聊天记录。 除了是把图片/视频高度压缩的"小而美"压缩工具,文件传输大小限制(新版本终于放宽到单文件1GB)、让人记忆犹新的图片和视频压缩(视频文件最大100MB)、电脑版小程序调不了窗口大小、PC版和手机版聊天记录无法合并、各种多选限制、备份传输慢且方法单一、功能残缺落后,等等等等一大堆问题都没解决的时候,更新等来的是表情动效和PC版朋友圈,反手一句好家伙。 备份方案 几种常见的备份方案排名: 最好的备份方案,是从手机备份到电脑。可多次覆盖、更新、增量合并,只会生成几个核心文件,方便管理; 次一级,是国产手机系统自带的app备份功能,同样只会生成几个大文件,方便管理和备份,但只能同品牌手机间进行;接近的方法,还有iOS设备的iTunes备份,但会生成巨量零碎文件,速度慢。 最后才是手机之间的聊天记录迁移,能跨安卓和iOS平台,但文件零碎,速度慢,只能存在手机里,管理和备份麻烦。 此外,还有WX Backup等PC/Mac工具,它们通过苹果iOS设备的iTunes非加密备份,最终把聊天记录输出成html网页格式,曲线救国地实现跨平台浏览手机备份的效果,自带时间线转跳,体验比自己还好↓ 部分PC会遇到无法添加路径的问题,可把iTunes的备份从C:\Users\用户名\AppData\Roaming\Apple Computer\MobileSync,剪切到桌面,然后手动添加。而现PC版有"给定关键字不在字典中"bug、生成的文件过多、无法多选恢复、文件夹并非以昵称命名、无搜索功能等遗憾,只能等开发者修复。 常见的聊天数据丢失恢复方法 除了iPad版,Windows版是功能最残缺、最没人权的常用客户端。电脑版没有自己的消息备份功能,且聊天数据和手机版隔离存在,相互之间无法相互备份、恢复、查看,所以电脑版永远无法当备份的汇总源(起码在大改版之前是这样)。 一旦手机丢失或app丢失重要聊天记录,存在电脑版上的聊天数据就成了孤本。很多人被迫去研究电脑版的时候,又会发现其文件架构看不懂,备份和恢复起来都很懵逼。 丢失最近几天、几个月(视最近聊天数据的大小而异),或完全丢失聊天数据都可用下面方法尝试。官方的修复方法docs.qq.com/doc/DS0JqY1FEVmVnSWdB,精简要概括如下:退出并关闭电脑版,备份"All Users\config"、和"用户名\config和Msg文件夹",以防万一。 到"WeChat Files\用户名\Msg"文件夹,找到文件名类似"XXX.db_Uncategorized xxxxxxx"和"XXX.db_SQLITE_NOTADB xxxxxxx"文件(它们是原来的聊天数据库文件,因意外退出而被重命名),手动给它们修改文件名,去掉被添加的后缀(改名前先把已经生成的同名文件删除)。 到"WeChat Files\用户名\Msg\Multi或Msg\Multi\bak",找到文件名类似"MSG数字(从0开始编号)_一大串数字"的文件。例如把"MSG0_1625828833.bakdb"的文件,重命名为"MSG0.db"。根据文件的修改时间和大小,判断这是否是我们的目标。 把类似文件重命名修改后,重新登陆。 电脑版的数据结构、用途与意义 用截稿时的 3.3.0 for Windows版为例(老版的媒体文件位置略有差别),如版本相差太远,描述和处理方法都可能会发生变化,此处仅供参考。电脑版的"设置-文件管理"中,可查看和修改数据的保存位置。 "WeChat Files/名"目录下有: All Users:config文件夹和用户头像。config文件夹里核心的是config.data,记录了登陆信息,没有它就得重新扫码登陆。头像和.ini文件(是配置信息)都不是重要文件,登陆就会再次生成。而登陆失败或闪退时,可能会生成重复头像,用久了可能会积攒大量重复头像。 Applet:小程序目录。每打开一个小程序就会生成类似wxe73c2db202c7eebf的文件夹。里面是小程序的".wxapkg"文件和库文件,大部分都是几MB的大小。即便是小程序运行过程中,也可以删除,下次打开又会自动下载。"号"名称文件夹:不同版本的目录结构有变动,加上意外退出会生成的中断文件,所以如果电脑版用了很久的话,该文件夹会非常混乱。 在号文件夹中,各个文件夹用途如下: Applet:又是小程序的文件夹,这次是存放配置记录等文件。里面的文件又多又碎,删掉的话,没有云同步功能的小程序会丢失本地的设置和配置记录。 ResUpdateV2:功能不明,运行时可删除,暂无发现影响,且自动重新生成,还不会变动。 backup和BackupFiles:都是备份相关,而BackupFiles存放的是手机到电脑的备份,每台手机都有唯一的文件夹。 BackupFiles文件夹结构↑ Backup.db:数据库文件,备份数据的引导。备份管理器显示的"首次、上次备份时间、备份时间段、聊天数"数据全在里面(如果原来的BAK_0_MEDIA和TEXT被移走或重名覆盖,就只能看到列表,但无法恢复); BAK_0_MEDIA:聊天的图文、音视频数据; BAK_0_TEXT:聊天文本信息; log:记录文件,每次手机备份和恢复都会生成log.zip文件(女朋友/老婆偷偷查岗,或者恢复备份时,没想起哪个恢复过,可查看log文件的修改时间),删除和保留log都不影响数据恢复。 同一台手机,每次新增备份都会更新除log外的所有文件,"BAK_"后缀的数字从0-N,单个最大1.99GB(其实可以把聊天数据封装成单个文件)。3个文件需要对应,缺一不可,否则会提示"文件被移动或损坏,无法继续"。备份恢复过程中会生产Backup.db-shm、Backup.db-wal临时文件,完成后会自行删除。 config文件夹:登陆与聊天数据配置相关文件,恢复古老版本数据时需要它: AccInfo.dat:账号登陆信息。All Users和自己号名下都有config文件夹。前者的config.data和后者的后者的AccInfo.dat,任意删掉一个都得重新扫码登陆 aconfig.dat、config.data、xxxx.ini:都是体积非常小的配置文件。 FileStorage:统一存放所有的缓存、表情、文件、图片、视频等文件。子文件夹大多会按月放置文件: cache:聊天过程中的各种图片缓存; CustomEmotion:表情包(会云同步,删掉后,下次点开个人表情,或点开有用过这些表情的聊天窗口,都会重新下载生成)。17年到现在,笔者的这个文件夹就已经膨胀到1.43G,3323个文件了; General:里面有Emotion图标、高清头像(手动点开过某人的大图像)之类的文件,也是云同步的; File:传输的word、excel、pdf、压缩包等文件; Video:视频文件和它们的缩略图; Image:图片文件,和缩略图一起被加密成dat文件(古老的电脑版和onenote都是保存原图片,有隐私隐患和尴尬)。通过异或处理编辑文件头并修改后缀可得到原图,但脱离聊天内容的图片也没有意义,这里就不详说提取方法了; Temp/TempFromPhone:临时文件; Sns:里面是cache缓存,被删除后会重新生成。不一定每次登陆都会生成新文件,但每次生成的文件都会记录下单次登陆的时间(又是查岗隐患?); Fav、PAG:意义不明。 Msg:聊天数据文件,最重要的文件夹。内部是Multi文件夹和一堆.db后缀的数据库文件: Multi:缓冲区,存放最近的聊天记录。客户端发生过意外关闭(登陆过程中初始化失败等),就会生成"bak"文件夹,里面是类似"MSG0.db1600310954990.IOErr"的文件,其数字串是出错时的时间戳。MSG0.db等文件是聊天缓存,一般大小是60MB,用于存放最近的聊天记录。改名或被删,会导致最近的聊天、传输的文件记录消失(群聊视频、传输的视频、录音等)。 后缀名".data"文件:ABTest、CheckResUpdate、XLabTest,可能是的测试/资源更新文件,可删; 后缀名".db"的数据库文件,当中最核心的是ChatMsg.db(聊天数据的本体,没有它的话,只有列表缩略文字,但没内容)、MicroMsg.db(没有它就得重新初始化,且聊天内容也会消失)。 要恢复聊天数据,但又不需要图片视频等数据,保留ChatMsg.db、MicroMsg.db和config文件夹即可(空间占用瞬间降低95.8789415%)。 小技巧与冷知识 电脑版的小程序"TNT模式"↑ 小程序也能做到TNT的效果,只是大部分小程序功能太弱,且调不了窗口大小(滴滴打车等极少数除外); 建议开小号,然后顶置,用以代替文件助手。这样两边都会有记录,等于多个备份;不想在电脑上看到朋友圈?在手机的发现页关闭朋友圈,重新登陆之后,电脑端的入口也会跟着消失(伤敌一千,自损八百); 活用分享菜单里的"在电脑上打开"。手机不方便看文章时,分享到"在电脑上打开",下次登陆电脑版时会批量打开期间提交的文章,比永远不会再看的收藏夹更适合做稍后阅读工具; 如"部分人头像丢失",在聊天窗口,点对方信息中的头像即可重新生成; 登陆失败闪退后,尽快去修改后缀.FatalErr、_SQLITE_CORRUPT XXXXXXXX、.bakdb等文件。新来的消息会记录在新文件上,而恢复原记录时,新的聊天记录会因被覆盖而丢失。文件后缀的那串数字的前10位进行"Unix时间戳"转换后就是文件修改的时间; 刚新建的空word、excel、PPT,会被电脑版发现,然后不让发送(没用的知识又变多了)。