# Windows 上的快取，哪些能刪，哪些要留

瀏覽器用了幾個月，顯示卡驅動程式更新過幾次，再裝上一些開發工具，快取就會慢慢累積。清掉以後有些能重新產生，有些卻混著離線下載和自己的設定，不能只看資料夾的名稱就決定。

## 先分清快取和自己的資料

| 內容 | 位置 | 清除的代價 | 清完怎麼驗證 |
| --- | --- | --- | --- |
| 瀏覽器圖片、程式碼和 GPU 快取 | `%LOCALAPPDATA%` 下各瀏覽器自己的設定目錄 | 下次造訪會重新下載並編譯，登入狀態和瀏覽紀錄還在 | 第一個頁面載入變慢，下一個恢復正常 |
| npm、pip 的下載快取 | `%LOCALAPPDATA%\npm-cache`、`%LOCALAPPDATA%\pip\Cache` | 下次安裝要重新下載，在此之前離線安裝會失敗 | 連線重裝一個套件試試 |
| 顯示卡著色器快取 | `%LOCALAPPDATA%\D3DSCache`、`%LOCALAPPDATA%\VulkanCache`，以及 NVIDIA、AMD 和 Intel 各自的快取目錄 | 遊戲和 GPU 應用程式要重新編譯著色器，首次啟動或第一次進入場景會變慢 | 重複同一個場景，比較載入時間 |
| Windows 暫存檔、錯誤報告和損毀傾印 | `%TEMP%`、`C:\Windows\Temp`、WER 的相關目錄和 `CrashDumps` | 軟體會重新產生暫存檔，最近的報告正是排查當機的證據 | 再執行一次軟體，排查期間保留最近的報告 |
| 離線音樂、網頁應用程式資料和設定 | 各軟體的資料目錄 | 它們不一定能重新產生 | 確認軟體還能開啟，資料還在 |
| 本機 AI 模型、工作階段和工作文件 | 軟體資料目錄和模型目錄 | 這些是個人檔案，不是快取 | 動之前先把需要的備份好 |

Mole 會把快取列成不同的列。正在使用的快取會略過。混著個人資料的列等你自己選擇。

AppData 只是軟體存放資料的地方。裡面也有瀏覽器密碼、聊天記錄、登入狀態和沒上傳完的檔案。整個資料夾一起刪除，會把這些東西一起帶走。

## 能重新產生，也要有產生它的來源

瀏覽器圖片可以再從網站下載，著色器可能要在本機重新編譯，套件管理員的下載快取要靠軟體來源還能存取。這幾樣都叫快取，重新產生的代價卻不一樣。出差斷網前清掉下載快取，或者開遊戲前清掉著色器，可能剛好清掉了接下來要用的東西。

個人資料沒有這樣的保證。網頁的離線儲存裡可能有還沒同步的修改，聊天資料庫可能只存在這台電腦上。動手前問兩件事：刪了以後由誰重新產生，產生要用的來源現在還在不在。目錄名叫 Cache，這兩件事一件也回答不了。

<figure class="blog-diagram">
  <picture>
    <source media="(max-width: 900px)" srcset="/img/blog/windows-windows-cache-cleanup-zh-mobile.webp" type="image/webp" width="768" height="1500">
    <img src="/img/blog/windows-windows-cache-cleanup-zh.webp" width="1360" height="454" loading="lazy" alt="先判斷快取，再決定清理方式">
  </picture>
  <figcaption>能否重建、是否在用和刪除後的復原路徑，需要在執行前分開核對，再檢查空間與保留資料。</figcaption>
</figure>

## 清理的數字和磁碟可用空間分開核對

先記下這顆磁碟的可用空間。清理時不要同時跑大檔下載或安裝。做完再重新整理同一顆磁碟的讀數。移到資源回收筒只是換了個地方存放。永久刪除則沒有從資源回收筒復原的路徑。壓縮、硬式連結和期間新寫入的檔案，也會讓掃描估算和可用空間的變化對不上。兩者本來就不必逐位元組相等。

藍屏傾印和錯誤報告有排查用途。正在查當機時先留著最近的。刪掉它們修不好當機，還可能少了證據。清完以後重新開啟原來的軟體，看看要保留的離線內容和登入狀態還在不在，比只看一張清理結果的截圖更能說明問題。

Windows 的[儲存空間感知設定](https://support.microsoft.com/en-us/windows/experience/storage-filemanagement/manage-drive-space-with-storage-sense)可以按時間處理資源回收筒、下載目錄和本機的雲端複本。但很久沒開啟的檔案不一定就是不要的。選定週期前先看看它的用途和有沒有備份。檔案放了多久說明不了它值不值得留。

## 用 Mole 清理時，先看選取的列

在清理頁掃描後開啟確認清單。能重新產生的快取預設選取。混著個人資料的項目等你自己確認。正在使用的快取會略過。先結束對應軟體可以減少佔用。清理後的瀏覽器或開發工具第一次啟動可能慢一些，它正在重新產生快取。

Windows 系統暫存檔等系統管理員項目需要單獨勾選。全選不會替你選上這些列。點選清理以後才要求系統管理員權限。取消授權時這些項目保留。Delivery Optimization 下載快取由 Windows 服務管理。Mole 透過服務清理完成下載的檔案，不需要你去取得那個目錄的權限。

一般快取按設定裡的移除方式處理。永久刪除的快取不能從資源回收筒復原。Scoop 舊版本等需要確認的項目也不是隨手可丟的快取。刪之前先看項目說明。

## 清完以後，為什麼空間還會變化

檔案進了資源回收筒，仍會佔用原來的磁碟。確認不需要復原以後再清空，空間才會釋放。快取也會隨著軟體繼續使用而重新出現。所以今天清理後有空餘，過幾天又多出一些快取很正常。

Windows 內建的儲存空間感知也能處理暫存檔。入口在設定 › 系統 › 儲存空間。[微軟的說明](https://support.microsoft.com/en-us/windows/experience/storage-filemanagement/manage-drive-space-with-storage-sense)區分了暫存檔、資源回收筒、下載目錄和雲端檔案的設定。開啟前看看自己選了哪些範圍。下載目錄裡的安裝套件和文件不需要跟著快取一起清掉。

如果清理後 C 槽還是吃緊，可以繼續看[怎樣找出佔空間的大檔](/tw/windows/blog/find-large-files-on-windows)。問題可能在模型、遊戲或虛擬磁碟裡。反覆清快取不會讓這些檔案變小。開發工具的下載快取見[開發工具快取](/tw/windows/blog/windows-developer-caches)。Steam 的著色器快取見[Steam 和顯示卡著色器快取](/tw/windows/blog/steam-shader-cache-windows)。


Canonical: https://mole.fit/tw/windows/blog/windows-cache-cleanup
