# 微信占用 C 盘空间太大怎么清理，Windows 版

Windows 版微信把 C 盘占满，是因为它默认把聊天记录、收到的每一张图片、每一段视频和每一个文件，连同它自己的缓存，都放在「文档」文件夹里，而这个文件夹只要你没挪过就在 C 盘上。这些空间大头是聊天数据而不是缓存，所以要拿回来，得靠微信自己的存储位置和清理设置，而不是在文件资源管理器里删文件夹。

这篇把微信在 Windows 上占的空间分成能自己长回来的和可能是唯一一份的两类，讲清楚旧的 3.x 和微信 4.x 各自把数据放在哪，再说怎么把数据挪出 C 盘又不弄坏它。简单说就是缓存和旧日志可以删，聊天数据库绝不手动删，聊天文件夹里删掉的东西，一旦微信服务器上不再保留，就再也取不回来了。

## Windows 版微信把数据放在哪

看这台电脑上运行过哪个版本的微信，有两种目录结构。

| 文件夹 | 版本 | 里面是什么 |
| --- | --- | --- |
| `Documents\WeChat Files\<wxid>` | 3.x | 聊天数据库（在 `Msg` 里），加上收到的图片、视频、文件和缓存（在 `FileStorage` 里） |
| `Documents\xwechat_files\<wxid>` | 4.x | 聊天数据库（在 `db_storage` 里），加上收到的媒体、文件和缓存 |
| `%APPDATA%\Tencent\xwechat` | 4.x | 登录状态、设置、插件、日志和内置浏览器的配置文件 |

`<wxid>` 是每个登录过的账号各一个文件夹，一台电脑上登过两个账号，所有东西就都有两份。腾讯的[微信 Windows 4.0 及以上版本常见问题](https://kf.qq.com/faq/250710MraIZj250710QniyAr.html)解释过文件夹为什么变了，4.x 用了新的存储架构，会在旧数据所在的同一个盘上新建一个 `xwechat_files` 文件夹，新旧数据不能混用，把 `WeChat Files` 文件夹复制进 `xwechat_files` 是用不了的。

如果是从 3.x 升级上来的，两个文件夹可能都在。同一篇常见问题里说，升级时搬旧聊天记录会优先用硬链接，硬链接就是磁盘上同一份数据的第二个名字，所以升级后删掉旧的 `WeChat Files`，实际空出来的空间可能远小于文件资源管理器显示的大小。别信文件夹大小，删之前和删之后各看一次磁盘剩余空间。

## 缓存、聊天记录和收到的文件不是一回事

动手之前，先把微信的数据分成四类：

| 类别 | 例子 | 删掉之后 |
| --- | --- | --- |
| 缓存 | 缩略图、内置浏览器的 Cache、Code Cache 和 GPUCache、头像缓存 | 需要时重新生成，不丢聊天 |
| 日志 | `%APPDATA%\Tencent\xwechat\log` 下按日期命名的 `.xlog` 文件 | 平时用不到，只是诊断记录 |
| 收到的媒体和文件 | 聊天里的图片、视频，别人发来的文档 | 从这台电脑上消失，旧的可能下载不回来 |
| 聊天数据库 | `Msg`（3.x）、`db_storage`（4.x） | 这台电脑上的聊天记录没了 |

删掉 `Msg` 或 `db_storage` 文件夹，或者整个 `<wxid>` 文件夹，就是删掉这台电脑上的聊天记录，除非做过备份或者手机上还有同样的聊天，电脑上没有任何办法找回来。媒体也一样，旧照片和旧视频可能已经没法从微信再下载一次，`xwechat_files` 里那份可能就是最后一份。

收到的文件是夹在中间的坑，它们看着像下载内容，可很多人把微信当成文件收件箱，那些文档从来没在别处存过。清理之前，先把在意的文件打开，另存到自己的文件夹里。

## 看里面之前先退出微信

微信运行时一直开着它的数据库，关掉窗口通常只是缩到了通知区域，还在后台跑。在通知区域右键微信图标，从菜单里选择退出微信，再打开任务管理器，确认没有 `Weixin`、`WeixinExt` 或 `WeChatAppEx` 进程残留，这些是 4.x 的进程名，内置浏览器和小程序跑在 `WeChatAppEx` 里。

微信占着文件的时候去删或者挪，可能留下写了一半的数据库，或者一个文件夹挪到一半失败，比不清理还糟。测量之前也要先退出，因为微信运行时当月的文件夹一直在变。

## 先在微信里面清理空间

微信自己的设置知道哪个文件属于哪个聊天，所以从这里开始：

- **存储位置。** 腾讯的 4.x 常见问题指向 设置 › 账号和存储 › 存储位置，在这里看数据放在哪。不同版本和语言的标签可能不一样，字面对不上的话，就在设置里找账号和存储那一页。
- **存储空间清理。** 较新的版本还有一个存储空间页面，能看到每个聊天占了多少空间，可以按聊天删除图片、视频和文件，具体叫什么每个版本都在变。这个页面也能删聊天内容，确认前每个选项都读一遍，只想要空间的话，别碰聊天记录相关的选项。
- **收到的文件。** 清理一个很活跃的群聊之前，用微信的另存为把还要用的文档存到 `xwechat_files` 以外的文件夹。

清掉一个大群聊里的媒体，空出来的往往比所有缓存加起来还多，而且由你决定拿哪个聊天来换空间。

## 删除或迁移前先备份聊天记录

任何会删东西的操作之前都先备份，卸载微信和重装 Windows 也算。腾讯的 [Windows 版微信备份与恢复指引](https://kf.qq.com/faq/161224mmmUju161224A3UVrE.html)写了步骤，手机和电脑连同一个网络，点击 Windows 版微信左下角的「更多」按钮，选择「迁移与备份」，再选「备份与恢复」，然后在手机上选择要备份的聊天，完成之前两边的微信窗口都别关。同一篇帮助的[英文版](https://help.wechat.com/cgi-bin/micromsg-bin/oshelpcenter?opcode=2&id=120813euEJVf141023EJ3e2i&t=help_center%2Fw_topic_detail)把它叫作左下角图标里的 Backup and Restore。

这份指引里有两点和空间有关，每次备份都存在电脑上，不再需要的旧备份可以删掉，旧备份在 C 盘上也会越攒越多。恢复到手机时会和手机上已有的聊天合并，不会删除手机上的任何内容。

## 用微信自己的设置把数据挪出 C 盘

数据确实很大又想留着，就挪走而不是删掉。用微信的存储位置设置，不要在文件资源管理器里拖文件夹，也不要自己建符号链接或目录联接。微信的设置会更新微信读取的路径，自己建的链接微信的迁移逻辑看不到，而且 4.x 升级时已经在这个目录树里放了它自己的硬链接。

腾讯的 4.x 常见问题演示了重装 Windows 后怎么用这个设置，在 设置 › 账号和存储 里修改聊天记录位置，让新的存储位置和旧的 `WeChat Files` 文件夹放在一起，重启微信重新登录，微信发现已有数据时选择使用它。同一篇也提醒了云盘文件夹的情况，旧数据放在云盘同步的文件夹里、又有部分文件只在线上的话，得先把所有文件下载到本地，微信才能读到。

这种云盘的情况在 Windows 上很常见，因为 OneDrive 的文件夹备份会把「文档」挪进 OneDrive。如果 `xwechat_files` 在那里，每张聊天图片也都在同步，通过 OneDrive 释放空间并不能让数据库重新回到本地，[用 OneDrive 释放空间](/zh/windows/blog/onedrive-free-up-space-windows)讲了仅在线的几种状态。选一个其他盘上的本地文件夹，比如 `D:\WeChatData`，聊天记录就既不占 C 盘也不进同步。

## 稳妥的顺序

1. 先测量。扫描 C 盘，看看这台电脑上 `Documents\xwechat_files`、`Documents\WeChat Files` 和 `%APPDATA%\Tencent\xwechat` 实际有多大，扫描方法见[在 Windows 上找大文件](/zh/windows/blog/find-large-files-on-windows)。
2. 用「迁移与备份」备份聊天记录，把还要用的收到的文件另存出来。
3. 在微信自己的存储空间页面按聊天清理媒体。
4. 剩下的对 C 盘来说还是太多，就通过微信的设置把存储位置挪到另一个本地盘。
5. 清理微信以外的任何东西之前先彻底退出微信，绝不删除 `Msg`、`db_storage`、`<wxid>` 文件夹，也不删整个名字里带 Tencent 的文件夹，`%APPDATA%\Tencent` 是 QQ、企业微信等其他腾讯软件共用的。

如果微信只是 C 盘满了的原因之一，[C 盘为什么满了](/zh/windows/blog/windows-c-drive-full)把其他占用方也理了一遍。

## Mole 能做什么

Mole 的「清理」只列出微信 4.x 里能重新生成的部分，在「通讯工具」里显示 WeChat Cache、WeChat Code Cache 和 WeChat GPU Cache，也就是 `%APPDATA%\Tencent\xwechat\radium\web\profiles` 下内置浏览器的磁盘缓存，在「运行日志」里显示 WeChat Logs，只包含一周没动过的 `.xlog` 文件，这几行默认勾选。微信运行时，它的缓存行会先压着不清，「清理」会提示把微信作为一个应用退出。同一批配置文件里的 Local Storage 和 IndexedDB、微信的登录信息和插件，以及 `Documents\xwechat_files` 或 `Documents\WeChat Files` 里的所有内容，「清理」从来不列，所以缓存那部分通常比聊天数据小得多。想看几个 GB 到底在哪，就在「分析」里扫描 C 盘，在图里打开文件夹，再在文件资源管理器里打开那个位置。

在「软件」里卸载微信时，Mole 会把 `%APPDATA%\Tencent\xwechat` 列出来让你确认，把「文档」里的聊天记录文件夹列为个人资料。个人资料默认不勾，只有你勾上那一行、在确认列表里点「全选」或者选择「一并移除用户数据」时才会删，而且是移到回收站，确认之前看一眼列表。「文档」由 OneDrive 同步时，Mole 根本不会列出聊天记录文件夹。

## 常见问题

### 删除 WeChat Files 文件夹安全吗？

整个删不安全。它的 `Msg` 里是 3.x 的聊天数据库，还有收到的媒体和文件，删掉就是删掉这些记录。如果已经换到微信 4.x 并且聊天记录已经加载过来，也先备份，删之前和删之后各看一次磁盘空间，因为有硬链接的话这个文件夹可能空不出多少。

### 清理微信缓存会删掉聊天吗？

不会。内置浏览器的 Cache、GPUCache 这类缓存需要时会重新生成，里面没有消息。聊天里的图片、视频和文件不一样，删掉就从这台电脑上没了，旧的可能下载不回来。

### 能用符号链接把 xwechat_files 挪到 D 盘吗？

用微信的存储位置设置。它会告诉微信数据在哪，也能让微信接上已有的聊天记录，而自己手动建的链接，微信自己的迁移和升级步骤是不知道的。

### Mole 会删掉我的微信聊天记录吗？

「清理」从来不列聊天记录文件夹。卸载时会把它们列为默认不勾的个人资料，只有你勾上、点「全选」或者选择「一并移除用户数据」时才会删，而且是移到回收站。


Canonical: https://mole.fit/zh/windows/blog/wechat-storage-windows
