京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Clean My WXWork - 企业微信缓存清理工具

2025-8-4 15:38| 发布者: zhaojun917| 查看: 11| 评论: 0

摘要: 一、程序简介Clean My WXWork v1.0 是一款专门用于清理企业微信缓存文件的工具。它能够扫描指定路径下的企业微信缓存文件夹,列出符合条件的文件夹及其大小,并允许用户选择特定的企业微信号进行缓存清理。二、使用 ...
 
一、程序简介

Clean My WXWork v1.0 是一款专门用于清理企业微信缓存文件的工具。它能够扫描指定路径下的企业微信缓存文件夹,列出符合条件的文件夹及其大小,并允许用户选择特定的企业微信号进行缓存清理。

二、使用步骤



1.启动程序

下载后双击Clean My WXWork v1.0.exe启动本程序。

2.欢迎界面


程序启动后会显示欢迎信息:“欢迎使用Clean My WXWork v1.0--企业微信清理缓存工具”,并提示按回车键开始扫描企业微信缓存文件。

3.自动扫描默认路径


程序将尝试扫描默认路径 D:\Users\Administrator\Documents\WXWork 下的企业微信缓存文件夹。
如果在默认路径下未找到合适的企业微信号文件夹,或者所有文件夹的大小均小于100MB,程序会提示用户手动输入企业微信缓存文件目录,目录在电脑企业微信-设置-储存管理-文件储存位置路径。

4.显示扫描结果


程序会列出所有符合条件的企业微信文件夹,并按照文件夹大小降序排列。

5.选择要清理的文件夹


用户根据表格中的序号选择要清理缓存的企业微信号。
输入对应的数字序号后,程序会进一步询问用户想要保留几天之内的缓存文件。

6.执行清理操作


根据用户的输入,程序会删除超过指定天数的缓存文件,并打印出已删除的文件路径。
清理完成后,程序会显示删除了多少个文件以及释放了多少字节的空间。

7.退出程序


清理完成后,程序会提示“缓存文件删除成功!”并显示“程序已退出。”
按回车键关闭命令行窗口。

三、注意事项


1.路径设置:如果默认路径不正确,请确保手动输入的路径是正确的完整路径。
2.权限问题:确保运行程序时有足够的权限访问和修改指定路径下的文件夹。
3.数据备份:建议在清理前备份重要数据,以防误删重要文件。

四、常见问题解答


Q: 程序无法找到Cache文件夹怎么办?
A: 请确认输入的路径是否正确,且该路径下确实存在名为Cache的文件夹。如果仍然找不到,请检查企业微信的安装路径或版本是否与程序兼容。
Q: 删除文件时出现权限不足的错误怎么办?
A: 尝试以管理员身份运行命令行终端,或者检查当前用户是否有足够的权限访问和删除目标文件夹中的文件。

项目基于本人python开发,杀软可能会报毒,介意的不要下载

以下为源码:

[Python] 纯文本查看 复制代码
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
import os
import shutil
import time
import sys  # 新增:导入sys模块
from datetime import datetime, timedelta
 
try:
    pass
except ImportError:
    pass
 
 
# 计算指定文件夹的总大小
def get_folder_size(folder_path):
    total_size = 0
    for dirpath, dirnames, filenames in os.walk(folder_path):
        for in filenames:
            fp = os.path.join(dirpath, f)
            total_size += os.path.getsize(fp)
    return total_size
 
 
# 列出指定路径下所有16位数字的文件夹及其大小
def list_wechat_folders(base_path):
    wechat_folders = {}
    for folder in os.listdir(base_path):
        if len(folder) == 16 and folder.isdigit():
            folder_path = os.path.join(base_path, folder)
            folder_size = get_folder_size(folder_path)
            wechat_folders[folder] = folder_size
    return wechat_folders
 
 
# 删除指定路径下超过指定天数的缓存文件夹
def delete_old_cache_files(cache_path, days_to_keep):
    current_time = datetime.now()
    cutoff_time = current_time - timedelta(days=days_to_keep)
    subfolders_to_clean = ['File''Image''Video''Voice']
    total_files = 0
    deleted_files_count = 0
    freed_space = 0
 
    # 计算需要处理的文件总数
    for root, dirs, files in os.walk(cache_path):
        for dir_name in dirs:
            if any(subfolder in root for subfolder in subfolders_to_clean) and '-' in dir_name:
                dir_path = os.path.join(root, dir_name)
                total_files += len([f for in os.listdir(dir_path) if os.path.isfile(os.path.join(dir_path, f))])
 
    for root, dirs, files in os.walk(cache_path, topdown=False):  # 设置topdown=False以便从子目录开始删除
        for dir_name in dirs:
            if any(subfolder in root for subfolder in subfolders_to_clean) and '-' in dir_name:
                dir_path = os.path.join(root, dir_name)
                for file_name in os.listdir(dir_path):
                    file_path = os.path.join(dir_path, file_name)
                    file_time = datetime.fromtimestamp(os.path.getmtime(file_path))
                    if file_time < cutoff_time:
                        try:
                            # 删除文件
                            file_size = os.path.getsize(file_path)
                            os.remove(file_path)
                            deleted_files_count += 1
                            freed_space += file_size
                            print(f"已删除文件: {file_path}")  # 新增:打印出所删除的文件路径
                        except Exception as e:
                            print(f"无法删除文件 {file_path}: {e}")
                # 检查并删除空文件夹
                if not os.listdir(dir_path):
                    try:
                        os.rmdir(dir_path)
                    except Exception as e:
                        print(f"无法删除空文件夹 {dir_path}: {e}")
 
    print(f"共删除 {deleted_files_count} 个文件,释放了 {freed_space} 字节的空间。")
 
 
# 主函数,负责用户交互和调用其他函数
def main():
    # 添加欢迎信息
    input("欢迎使用Clean My WXWork v1.0--企业微信清理缓存工具,按回车键扫描企业微信缓存文件。")
 
    try:
        default_base_path = "D:\\Users\\Administrator\\Documents\\WXWork"
        base_path = default_base_path
        wechat_folders = list_wechat_folders(base_path)
 
        # 检查默认路径下的企业微信号文件夹及其大小
        if not wechat_folders or all(size < 100 * 1024 * 1024 for size in wechat_folders.values()):
            base_path = input(
                "默认路径下未找到合适的企业微信号文件夹,请手动输入企业微信缓存文件目录,例如:D:\\Users\\Administrator\\Documents\\WXWork: ")
            wechat_folders = list_wechat_folders(base_path)
        else:
            print("企业微信缓存文件为默认路径,现在开始扫描对应企业微信号文件夹")
            # 添加空行
            print("\n\n")
 
        # 按文件大小降序排序
        sorted_wechat_folders = sorted(wechat_folders.items(), key=lambda x: x[1], reverse=True)
 
        # 创建表格数据
        table_data = [[i, folder, size / (1024 * 1024)] for i, (folder, size) in
                      enumerate(sorted_wechat_folders, start=1)]
 
        # 打印表头
        print(f"{'序号':<10}{'企微号':<25}{'文件大小(MB)':<20}")
        print("=" * 55)
 
        # 打印表格
        for index, folder, size_mb in table_data:
            print(f"{index:<10}{folder:<25}{size_mb:<20.2f}")
 
        while True:
            try:
                selected_index = int(input("请输入要删除缓存的序号,通常选择文件大的企微号:")) - 1
                if 0 <= selected_index < len(sorted_wechat_folders):
                    selected_folder, _ = sorted_wechat_folders[selected_index]
                    cache_path = os.path.join(base_path, selected_folder, 'Cache')
                    if os.path.exists(cache_path):
                        days_to_keep = int(input("想要保留几天之内的缓存文件:"))
                        delete_old_cache_files(cache_path, days_to_keep)
                        print("缓存文件删除成功!")
                    else:
                        print("未找到Cache文件夹。")
                    break
                else:
                    print("输入的序号无效,请重新输入。")
            except ValueError:
                print("请输入一个有效的数字序号。")
    except Exception as e:
        print(f"程序运行时发生错误: {e}")
    finally:
        print("程序已退出。")
        input("按任意键继续...")  # 保持命令行窗口打开
        sys.exit(0)  # 修改:替换为sys.exit(0)
 
 
if __name__ == "__main__":
    main()


下载链接:
https://wwdi.lanzouq.com/iwUOd2nyhtij

免费评分

关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-8-13 01:48 , Processed in 0.189506 second(s), 18 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

返回顶部