- 2024-11-01 10:37:41
QQ使用时间长了以后, 聊天记录自然会变大. 当然, 如果只是文字, 再怎么多也不会占据太大空间, 关键是图片. 如果你在一些比较活跃的群里, 而群友又喜欢发图片, 又或者, 你的QQ好友比较多, 交流时候经使用图片, 那么经年累月地积攒下来, 图片所占的空间就不可小觑了.
图片占的磁盘空间大了, 自然的想法就是删除/清理聊天记录. 可恨的是, 删除聊天记录时, QQ不会删除缓存的图片. 如果你想手动删除, 看一看图片存放的位置以及命名, 就直接被劝退了
├─$$
│ ├─B$
│ │ $$B$[AGM]}5E{`NT%0TVUGQ.png
│ └─BF
│ $$BF$_[8WVS%C[DT1]07WMJ.jpg
├─$%
│ └─]6
│ $%]6U9A_8F@1A)M2C[`9UM2.jpg
├─$)
│ ├─7[
│ │ $)7[[P[JE{7$4)1MV4P6DHI.png
│ └─CS
│ $)CSO[JGSC0_$$CS)EA@V]3.jpg
├─$1
│ └─YG
│ $1YG{KX6NFF0R0WSDC0`[YM.png
├─$2
│ └─NP
│ $2NP~H2JMDOH]_C94DPF[OB.jpg
├─$3
│ └─%U
│ $3%U56VJ$2)PEFGX4EC8%WB.png
├─$6
│ ├─DM
│ │ $6DM)J~}]TTCM{TK9CCUP8K.png
│ └─O2
│ $6O27B4FV3A(_S%9O{W77U8.jpg
├─$7
│ ├─UZ
│ │ $7UZ_}PFN]C6_%K)7$2_D9G.png
│ └─`%
├─$9
│ └─%C
│ $9%CX`_YUOE{426{K_V]3N2.jpg
├─$A
│ ├─7Y
│ │ $A7Y5{_KHVAAH[BJ54741OC.jpg
│ └─P)
│ $AP)B[JO[K9]YV)2Q5(38G9.png
├─$B
│ └─VC
│ $BVCU`BQIAU)GF5`3KB(COE.png
├─$C
│ └─LV
│ $CLVTRJH47~0L]9CAO87T@K.jpg
├─$D
│ ├─B$
│ │ $DB$XIW`TR_45_O$5(R5]YR.png
│ ├─_8
│ │ $D_8N3B~FCXJ02QZ$J2{M~1.jpg
│ └─_Q
│ $D_Q3)8N]0~5T5G7SJS%L)7.jpg
到网上查了一下, 发现早就有人注意到了这个问题. PC版QQ清理空间时保留指定群聊图片的方法里面提到了一种方法, 基于火绒的文件监控获得图片的路径, 然后用python脚本删除. 但根据留言反馈, 新版本的火绒已经没有这个功能了, 可以用Process Monitor代替. 我试着下载了最新版, 在我的win-7老机器上无法使用, 无奈只得用了3.1064版本, 猜想这个版本兼容性应该不错.
启动Process Monitor后, 需要先建一个过滤器. 对于QQ, 我们可以使用PID. 从任务管理器中查看QQ进程的PID为6064
然后使用PID新建并添加一个过滤器
这时就可以监测到事件了. 由于我们只监测QQ的文件读取, 所以可以忽略其他事件, 这样监测日志文件会小很多. 将工具栏上的其他事件取消, 只保留监测文件系统活动,
操作后, 如果查看下过滤器, 可以看到其他事件被排除了
这样我们就建立好了QQ文件读存的监测器.
接下来打开QQ的消息管理器, 选择要清理图片的联系人或群, 右键导出消息记录
, 使用默认格式即可.
导出完成后, 在Process Monitor中保存, 选择CSV格式, 得到了刚才操作的监测日志.
日志中记录了QQ的所有文件读存操作. 我们可以从中找到刚才导出消息时涉及到的图片. 但是如果手动操作多次还是很麻烦的, 所以我就写了个bash脚本, 读取监测日志, 将其中包含的图片移动到日志目录下的QQimg
文件夹, 以方便查看并删除. 使用脚本时要将其中的【QQ图片路径】
换为你自己的, 类似/C:\\Users\\【用户名】\\Documents\\Tencent Files\\【QQ号】\\Image/
这种.
_QQimg.bsh | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 | awk '
BEGIN{IGNORECASE=1}
/【QQ图片路径】/{
split($0, arr, /","/)
img[arr[5]]++
}
END {
for(i in img) {
print i
system("mv \47"i"\47 ./QQimg")
}
}
' Logfile.CSV |
脚本执行成功后, 就可以查看QQimg
文件夹下的图片, 没有问题的话, 直接删除, 聊天记录中这些图片就无法看到了. 再将聊天记录删除, 就彻底清理好了.
第一次做的话, 步骤有点麻烦. 但如果你的QQ一直在线, 其PID是不会变的, 所以以后需要清理时候, 直接打开Process Monitor, 导出QQ聊天记录, 保存监测日志, 运行脚本, 删除图片即可. 虽然没有完全自动, 也不算太麻烦.
就这样吧.