定时删除微信文件夹中重复文件
2018-01-12 本文已影响59人
高正杰
问题描述
PC端微信在翻看聊天记录时,对于文件会反复接收,然后你就会发现文件夹会有一大堆文件是重复的。重复的文件名用括号+数字进行了修改。虽然大家都在吐槽这个问题,可是微信死活还是没有对这个bug进行解决。那么, 如何解决这个问题呢?
分析
- 文件夹禁止写入。导致文件无法接收,不可取。
- 阻止重复接收。在微信接收文件前,先对本地文件进行检查,若重复,则不接收。可想象总是美好的,臣妾做不到啊。
- 删除文件夹中重复文件。这属于是灾难发生后的挽救措施,也是没有办法的办法了。首先利用脚本通过一定的正则表达式规则可以找出重复的文件,其次就是创建一个定时任务,定时执行一遍写好的脚本即可将重复文件清理掉。
本文的实验环境是 Python 3.6.1 |Anaconda 4.4.0 (64-bit),Win10
Python脚本
创建 del_repeat_file.py
文件,其中代码如下:
# -*- coding: utf-8 -*-
# Author:gaozhengjie
# Blog:https://www.jianshu.com/u/02877dbc2662
# E-mail:3170601003@cuit.edu.cn
# Python Version:3.6.1
# Time:2018/1/12
# Description:删除微信文件夹中重复文件
import os
import re
filename_regex = re.compile(r'.*\(\d+\)\..*')
# 将下面的路径替换为你自己的微信文件夹路径
wechat_file_path = "C:\\Users\\gzj\\Documents\\WeChat Files\\gzjie678\\Files"
file_list = os.listdir(wechat_file_path)
print('\n' + '*' * 50 + '\n')
for i in file_list:
temp = filename_regex.search(i)
if temp != None:
del_path = wechat_file_path + '\\' + temp.group()
print(del_path)
os.remove(del_path) # 永久删除指定路径的文件
print('\n' + '*' * 50)
批处理运行Python脚本
创建 start_del_WeChat_file.bat
文件,其中代码如下:
start python F:\PythonProject\del_repeat_file.py
创建定时任务
- Win10系统下,鼠标右键点击“开始”图标按钮,在弹出的菜单选项框中找到“计算机管理”选项并点击它。如图1所示;
- 在弹出来的计算机管理窗口中,选择
系统工具
中的任务计划程序
,再选择创建基本任务...
或创建任务...
均可,前者是向导模式,后者则是高级模式,可供设置的选项更多。
- 以向导模式为例,你顺着下一步走就行了,在操作那一栏选择
启动程序
,然后选择刚才创建的 bat批处理文件, 如图3所示。
- 大功告成。
开机自启动
如果你觉得你电脑每天定时清理不方便,也可以将该批处理脚本设置为开机自启动,直接将这个批处理脚本文件拷贝至 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
即可实现开机自运行。