# AppData 文件夹是什么，哪些东西可以删

AppData 是 `C:\Users\<用户名>\AppData` 这个隐藏文件夹，程序把设置、缓存，有时连程序本身都放在这里。文件夹本身不要删，里面的 `Local`、`LocalLow`、`Roaming` 也不要删，能放心清的是真正的缓存和临时文件，以及已经卸载的 App 留下的文件夹，其他的都要先确认，邮件、游戏存档和浏览器资料也都放在这里。

## 怎么打开

按 `Win + R`，输入下面任意一个再按回车，就算 AppData 是隐藏的，也能直接到达：

```text
%LOCALAPPDATA%
%APPDATA%
%TEMP%
```

想在浏览时看到它，打开“文件资源管理器 › 查看 › 显示 › 隐藏的项目”，`AppData` 就会以半透明的样子出现在用户文件夹里。

## 这三个文件夹是什么

| 文件夹 | 路径 | 应该放什么 | 常见内容 |
| --- | --- | --- | --- |
| Local | `%LOCALAPPDATA%` | 只属于这台电脑的数据 | 缓存、`Temp`、浏览器资料、`Programs` 里的 App |
| LocalLow | `%USERPROFILE%\AppData\LocalLow` | 低权限 App 的数据 | 部分游戏和沙盒 App |
| Roaming | `%APPDATA%` | 在受管理的网络里可以跟着账户走的设置 | App 设置、配置文件、部分游戏存档、`npm` |

微软在 [已知文件夹列表](https://learn.microsoft.com/en-us/windows/win32/shell/knownfolderid) 里定义了这几个位置，但东西放哪里由开发者决定，也不是都守规矩，所以光看位置判断不了里面是什么。动手之前先找到是什么占了空间，用能显示文件夹大小的文件管理器，或者 PowerShell：

```powershell
Get-ChildItem $env:LOCALAPPDATA -Directory -Force | ForEach-Object {
  [pscustomobject]@{ GB = [math]::Round((Get-ChildItem $_.FullName -Recurse -Force -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum / 1GB, 2); Folder = $_.Name }
} | Sort-Object GB -Descending | Select-Object -First 15
```

把 `LOCALAPPDATA` 换成 `APPDATA`，就能看 Roaming。

## 哪些能清，哪些不能

| 路径 | 是什么 | 能不能清 |
| --- | --- | --- |
| `Local\Temp` | 临时文件 | 可以，正在用的跳过，见 [Temp 文件夹](/zh/windows/blog/windows-temp-folder-cleanup) |
| `Local\CrashDumps` | 崩溃文件 | 可以，除非正在反馈崩溃问题 |
| `Local\Microsoft\Windows\WER` | Windows 错误报告 | 可以 |
| `Local\D3DSCache` | 着色器缓存 | 可以，部分游戏重建时会卡一下 |
| `Local\npm-cache`、`Local\pip\Cache`、`Local\NuGet\v3-cache` | 开发工具缓存 | 可以，包会重新下载，见 [Windows 开发工具缓存](/zh/windows/blog/windows-developer-caches) |
| 浏览器的 `Cache` 文件夹 | 网页缓存 | 可以，先关掉浏览器，旁边的资料要留着 |
| 已卸载 App 的文件夹 | 残留 | 通常可以，先核对名字，见 [App 卸载后会留下什么](/zh/windows/blog/what-apps-leave-after-uninstall) |
| `Local\Programs` | 按用户安装的程序 | 不要删，走正常卸载 |
| `Local\Packages` | 商店 App 的数据 | 不要删，到设置里重置或者卸载 App |
| `Local\Microsoft` | Windows 和 Office 的数据 | 不要删，上面列出的路径除外 |
| `Roaming\Microsoft` | 凭据、模板、开始菜单 | 不要删 |
| 浏览器的 `User Data` 或 `Profiles` | 书签、密码、扩展 | 不要删 |
| 邮件客户端的文件夹 | 本地邮件和归档 | 不要删，除非有备份 |
| `Roaming\<游戏>`、`LocalLow\<游戏>` | 常常是存档和设置 | 先备份 |

一条比较靠谱的判断办法，名字是 cache 或 temp、所属 App 能重新登录回去的，通常可以清，直接用 App 名字命名的文件夹，在弄清里面是什么之前不要动。

清之前先关掉 App，东西先移到回收站，不是直接删除，用几天电脑没问题再清空。

## 不要这样做

- 不要把 AppData、Local 或 Roaming 整个删掉，Windows 会重建文件夹，但账户下每个程序的设置都没了，有些数据还找不回来。
- 不要为了省空间用联接把 AppData 挪到别的盘，有的程序、商店 App 和更新会因此出错，这是把用户配置搞坏的常见做法。
- 不要因为大就当成垃圾，40 GB 的 `Local\Slack`、游戏目录或者邮件归档，可能就是你正在用的东西。
- 不要用会清空整个 AppData 的清理工具，就算它说自己很小心，清什么还是自己挑。

## Mole 能做什么

Mole for Windows 认识 AppData 下的很多项目，比如 WER 报告、崩溃转储、`D3DSCache`、浏览器缓存和开发工具缓存，可以在“清理”里逐项看大小再决定，带个人数据的项目默认不勾选，被正在运行的 App 占用的项目会等它退出。想看整个文件夹，在“分析”里打开系统盘，再进入 `Users` 和你自己的文件夹，隐藏文件夹和大小都会显示出来。扫描过一次“清理”之后，`AppData` 里可清理内容达到自身大小 10% 的文件夹，菜单里会有“查看可清理项目”，方块放得下时还有一个刷子，点开后“清理”页只勾选这个文件夹里推荐清理的项目。其他东西可以用同一个菜单的“移到回收站”，这由你自己决定，`AppData` 本身也会出现这一项，不要在它上面用。通过 Mole 卸载 App 时，它在 AppData 里的数据会和程序一起列出来，App 自己的数据大多默认勾选，想留下的可以取消，个人数据和浏览器、邮件、Electron 配置文件默认不勾选。

## 常见问题

### AppData 文件夹可以删吗？

不可以，要有选择地清里面的东西，整个删掉会让账户下每个程序都回到初始状态，邮件、存档和浏览器数据也可能丢。

### AppData 为什么这么大？

通常是一两个 App 造成的，比如浏览器、带媒体缓存的聊天软件、游戏、开发工具或者 AI 模型，每台电脑情况不同，先量一下里面的文件夹。

### Local、LocalLow 和 Roaming 有什么区别？

Local 只属于这台电脑，LocalLow 给低权限 App 用，Roaming 放的是在受管理的网络里可以跟着账户走的设置，家用电脑上 Roaming 其实也只留在这台电脑上。

### 为什么看不到 AppData？

它是隐藏的，在文件资源管理器里打开“查看 › 显示 › 隐藏的项目”，或者按 `Win + R` 输入 `%LOCALAPPDATA%` 直接过去。

### AppData 里的 Temp 可以删吗？

可以，正在用的文件删不掉，跳过就行，重启之后再清，能清出来的最多。


Canonical: https://mole.fit/zh/windows/blog/appdata-folder-what-can-delete
