【脚本工具】QQ个人数据管理方法与脚本
企鹅用户的数据清理痛点
网上有五花八门的清理方法,但都很散乱。就我搜索到的清理数据途径大概有几种:
(1)删除特定群聊/私聊的聊天记录:直接在“消息管理器”中删除
(3)XX电脑管家等第三方的检测清理软件
没用过。我不想为了一个小需求而安装整个软件。
(4)手动找出数据储存目录进行清理
一般很难知道具体可以清理的路径是什么,而且手动清理太累了。
以上的途径都遗留不少问题。比如,感觉清理得还是不彻底、或者扫描清理过程太慢了。如果是一台陈年旧电脑,能直接搞崩溃。
造成这件事情的根本原因,就是企鹅的文件构建方式太弱智了,让某些文件夹难以被检测到(如group2文件夹),而且让逐个遍历的过程变得巨麻烦。
相关问题的讨论可以参考知乎问题:
另外,我们自己也会有一些自己更个性化的需求,通用的方法没法照顾到,手工完成又太累。
要提示的是,分享教程的目的,不是让copy代码就完事,而是体会构建这个脚本的核心方法。
了解QQ文件夹的结构
关于下层的文件夹,我列了一个表格总结它们负责存放什么内容(参考网上资料和亲测),以及所采取的处理策略:
这个表格只是列举了一些,有很多没弄清楚用途的(特别是.db这种加密过的数据库)就先不处理了,日后我会慢慢把这个表格补充完整。
总的来说,处理策略大概可以分为3种:
(1)马上删掉的
(2)定期清理的
比如n个月以前的工作文件,语音等等,这个很好理解。
(3)长期保留的
相关的讨论可以参考这篇
在定义了自己要清理哪些文件以后,就可以开始写脚本了。
写简单的powershell脚本
要说明的是,脚本还有很多漏洞,每个人的文件夹情况也有可能不同,需要自行调整。
脚本涉及的powershell命令主要有下面几个:
完整代码:
脚本的使用
调用ps1脚本的方法:powershell界面,进入脚本所在的目录,输入 <脚本名>.ps1
第一次跑powershell脚本,会遇到windows没有脚本执行权限的问题。这是因为系统默认是Restricted 执行策略,不允许任何脚本运行。
解决办法:管理员身份运行powershell,输入set-ExecutionPolicy RemoteSigned命令,重启。然后就能直接用了。
也可以在桌面右键ps1文件,选择用powershell运行。
问题更新(2022.4.11)
今天用脚本发现突然不行了,排查问题发现两点:
①定期清理功能的bug改好了
②有一些地方打多了,拼接后会变成\,影响路径引用。需要改一下这部分的细节。
以上就是今天的分享。