# 微信占用 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 釋放空間](/tw/windows/blog/onedrive-free-up-space-windows)講了僅線上的幾種狀態。選一個其他磁碟上的本機資料夾，比如 `D:\WeChatData`，聊天紀錄就既不占 C 槽也不進同步。

## 穩妥的順序

1. 先測量。掃描 C 槽，看看這台電腦上 `Documents\xwechat_files`、`Documents\WeChat Files` 和 `%APPDATA%\Tencent\xwechat` 實際有多大，掃描方法見[在 Windows 上找大檔案](/tw/windows/blog/find-large-files-on-windows)。
2. 用「迁移与备份」備份聊天紀錄，把還要用的收到的檔案另存出來。
3. 在微信自己的儲存空間頁面按聊天清理媒體。
4. 剩下的對 C 槽來說還是太多，就透過微信的設定把儲存位置搬到另一個本機磁碟。
5. 清理微信以外的任何東西之前先徹底結束微信，絕不刪除 `Msg`、`db_storage`、`<wxid>` 資料夾，也不刪整個名字裡帶 Tencent 的資料夾，`%APPDATA%\Tencent` 是 QQ、企業微信等其他騰訊軟體共用的。

如果微信只是 C 槽滿了的原因之一，[C 槽為什麼滿了](/tw/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` 檔案，這幾列預設勾選。微信執行時，它的快取列會先壓著不清，「清理」會提示把微信當成一個 App 結束。同一批設定檔裡的 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/tw/windows/blog/wechat-storage-windows
