微信FileStorage MsgAttach文件太乱怎么办?教你用Python解决

面对微信FileStorage MsgAttach文件夹的混乱和C盘空间不足的问题,本文介绍了一种解决方案——使用Python编写程序批量移动文件。核心代码利用`cp`或`copy`命令将文件移动到指定目录,通过运行`python main.py "源文件夹" "目标文件夹"`即可实现文件整理。此方法有助于保持文件有序,释放磁盘空间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

      [完美解决MsgAttach文件太乱的问题]

      [完美解决微信在C盘文件太大的问题]

      最近我发现微信接收文件太多太乱, 你看微信FileStorage MsgAttach文件夹

      我记得之前不是这样的啊,

      而且经过一段时间后,C 盘就占满了

这让我怎么找文件啊, 真让人头大. 所以我写了一个python程序, 可以将这些目录里面的文件全部移动到指定目录.

下面开始写Python代码

​
import sys
import os
from os import path
from typing import List, Tuple

files_list: List[Tuple[str,str]] = []


def scaner_file(url, catogroy, remain_catogroy=False):
    # print(url, catogroy, remain_catogroy)
    file = os.listdir(url)
    for f in file:
        if f.startswith("$"):
            continue
        if f.endswith(".dat"):
            continue
        real_url = path.join(url, f)
        # print(real_url)
        if path.isfile(real_url):
            # print(path.abspath(real_url))
            if remain_catogroy:
                files_list.append((path.abspath(real_url), path.abspath(real_url)))
            else:
                files_list.append((path.abspath(real_url), path.join(catogroy, f)))
            # 如果是文件,则以绝度路径的方式输出
        elif path.isdir(real_url):
            # 如果是目录,则是地柜调研自定义函数 scaner_file (url)进行多次
            scaner_file(real_url, catogroy, remain_catogroy)
        else:
            print("其他情况")
            pass


def copy_file(source_folder: str, target_folder):
    if target_folder.startswith(source_folder):
        print("请勿复制!!")
        return None
    scaner_file(source_folder, source_folder)
    for f in files_list:
        target_f = f[1].replace(source_folder, target_folder)
        print(f[0],"----------------------", target_f)
        os.system("cp \"{}\" \"{}\"".format(f[0],target_f))


if __name__ == '__main__':
    if len(sys.argv) < 3:
        print(str(sys.argv))
        print("source_folder target_folder")
        sys.exit(0)
    source_folder = sys.argv[1]
    target_folder = sys.argv[2]
    # copy_file(r"G:\games\WorkPython\match2\testfile",r"G:\games\WorkPython\match2\testfilout")
    copy_file(source_folder, target_folder)


​

 核心代码是 cp f1 f2 ... fn  taget_file_or_folder

简单的讲是 cp file1 file2 把文件1 复制到 文件2

Windows 的复制命令是 copy, 

所以要小伙伴们的电脑没有 cp 命令 的话, 

需要将   os.system("cp \"{}\" \"{}\"".format(f[0],target_f))

替换成   os.system("copy \"{}\" \"{}\"".format(f[0],target_f))

程序运行方法 python main.py "要被整理的文件夹" "要放的地方文件夹"

只要把两个参数替换成你要的文件夹,

再也不用担心文件夹太乱了.

小伙伴们如果觉得有用的话, 可以点赞收藏哦!

如果有不懂得地方, 欢迎留言

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值