
C盘红了不是删两个临时文件就能解决的。这次我们不聊那些“清完马上又满”的治标操作直接上一套从临时文件、用户目录、系统组件到第三方软件缓存的完整清理思路顺便把“哪些能删、哪些不能删、删错了怎么恢复”一起讲清楚适用于 Windows 10 和 Windows 11。先说结论C盘清理的核心不是“找个软件一键扫垃圾”而是搞明白空间被谁占了。按照本文的顺序操作一遍通常能释放 10GB 到 50GB 以上如果你的系统里还有休眠文件、旧版本 Windows 更新残留或者 Docker/WSL 虚拟磁盘释放空间会更多。文章会按“先看占用 → 清临时文件 → 处理系统组件 → 迁移用户文件夹 → 扩容”的顺序展开涉及 CMD、PowerShell 命令也会给可视化操作的替代方案。全程不需要第三方清理软件Windows 自带工具就能完成大部分工作。1. 先搞清楚 C 盘空间被谁吃掉了清理之前先做一步诊断避免盲清。按下Win I打开系统设置进入“系统 → 存储”Windows 会给出一个大概的空间分布图包括“系统和保留空间”“应用和功能”“临时文件”“用户文件夹”等几大类。但系统自带的统计有时候不够细。更推荐用 TreeSize Free、WizTree 这类磁盘占用分析工具扫一遍 C 盘按文件夹大小排序很快就能看到真正的“空间大户”到底是C:\Users\Administrator\AppData、C:\Windows\WinSxS还是某个软件的缓存目录。这一步只做分析不需要立即删除任何东西。以下几个目录是 C 盘空间的常见占用点后续所有清理都是围绕它们展开的目录/项目常见占用大小是否可清理说明C:\Windows\Temp几百 MB 到几 GB可清理系统临时文件删除不影响系统运行C:\Users\用户名\AppData\Local\Temp几百 MB 到十几 GB可清理用户级临时文件部分文件可能被占用C:\Windows\SoftwareDistribution\Download几 GB 到十几 GB可清理Windows 更新缓存删除后不影响已安装更新C:\Windows\WinSxS5GB 到 20GB谨慎清理组件存储不建议手动删要用 DISM 清理C:\Windows.old10GB 到 30GB可清理旧系统备份确认新系统正常后可删C:\hiberfil.sys3GB 到 30GB可选择性关闭休眠文件大小约为物理内存的 40% 到 70%C:\pagefile.sys4GB 到 32GB可迁移/调整虚拟内存页面文件C:\Users\用户名\AppData\Local\Docker十几 GB 到几十 GB可清理/迁移Docker Desktop 虚拟磁盘C:\Users\用户名\AppData\Local\Packages几 GB 到几十 GB谨慎清理UWP 应用数据C:\Users\用户名\AppData\Roaming\Code几 GB 到十几 GB可迁移/清理VS Code 缓存和扩展C:\Users\用户名\.cache几 GB 到几十 GB可清理HuggingFace、pip、npm 等缓存C:\Users\用户名\.conda几 GB 到几十 GB可清理/迁移Conda 环境包如果你发现C:\Users\Administrator\AppData\Local\Temp占了几十 GB那大概率是某些 AI 工具、建模软件或者开发工具的临时缓存堆出来的清掉即可。2. 系统自带清理存储感知与磁盘清理2.1 开启存储感知Windows 10 和 Windows 11 都内置了“存储感知”功能可以自动清理临时文件和回收站内容。操作路径设置 → 系统 → 存储 → 打开“存储感知”点击“立即释放空间”。在这里可以勾选以下项目临时文件回收站下载文件夹注意这里会删除下载目录中的文件建议先检查内容以前的 Windows 安装文件传递优化文件建议第一次先勾选“临时文件”“回收站”“传递优化文件”不要勾“下载文件夹”因为很多人会把安装包放在里面但还没安装完。2.2 使用磁盘清理工具在开始菜单搜索“磁盘清理”选择 C 盘会看到另一个维度的清理选项。点击“清理系统文件”可以拿到管理员级别的清理项目比如“Windows 更新清理”“设备驱动程序包”“系统还原”等。这里最值得关注的是“Windows 更新清理”。系统更新后会保留旧版本组件占用可能高达 5GB 到 15GB点击清理后一般可以释放大量空间。需要注意磁盘清理工具界面里显示的大小是“占用空间”不是“可释放空间”。比如“Windows 更新清理”显示 8GB实际释放可能只有 6GB但仍然是目前最安全的大块头清理项目之一。3. CMD 与 PowerShell 命令清理如果你习惯命令行下面这套清理流程比图形界面更直接但是每一条命令都要理解后再执行。3.1 清理临时文件打开 CMD管理员权限执行以下命令# 删除 Windows 临时目录下的所有文件 del /q /f /s %WINDIR%\Temp\*.* # 删除用户临时目录下的所有文件 del /q /f /s %TEMP%\*.* # 删除 Windows 更新下载缓存 del /q /f /s %WINDIR%\SoftwareDistribution\Download\*.*说明/q表示安静模式不提示确认。/f表示强制删除只读文件。/s表示递归删除子目录内容。如果提示“另一个程序正在使用此文件”忽略即可下次开机后再清理一遍就能删掉。3.2 使用 DISM 清理系统组件Windows 组件存储WinSxS不能直接手工删除需要用到 DISM# 先分析系统组件清理可回收的空间 Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore # 执行组件清理 Dism.exe /Online /Cleanup-Image /StartComponentCleanup/AnalyzeComponentStore会先输出“组件存储实际使用空间”和“可通过清理回收的空间”确认后再执行/StartComponentCleanup。整个过程可能需要 10 到 30 分钟期间不要关机。3.3 清理系统更新残留旧版本组件针对 Windows 10/11 更新后的残留可以使用# 清理过期更新组件 Dism.exe /Online /Cleanup-Image /SPSuperseded/SPSuperseded会把被新版本替代的旧更新包直接移除释放效果通常很明显。需要注意的是执行完后旧更新无法卸载这本身不是问题因为过期更新本来就不建议回滚。3.4 使用 Storage Sense 命令行触发清理Windows 设置里的“存储感知”也有命令行入口适合写脚本自动化# 查看存储感知配置 Get-MpPreference | Select-Object -Property StorageSense*不过实际使用中这个命令查看的信息比较有限更多时候还是直接走图形界面的“立即释放空间”更可靠。4. 关闭休眠文件与调整虚拟内存两个隐藏的“大文件”经常被忽略hiberfil.sys和pagefile.sys。它们的体积不小而且不会出现在普通磁盘清理界面里。4.1 关闭休眠文件如果你的电脑不使用“休眠”功能可以考虑关闭休眠文件释放与物理内存大小相关的空间。以管理员身份打开 PowerShell 或 CMD执行# 关闭休眠功能并删除 hiberfil.sys powercfg /h off执行后C:\hiberfil.sys会自动消失。如果后续需要恢复休眠功能执行# 重新开启休眠 powercfg /h on注意关闭休眠后笔记本的“盖盖子睡眠”不受影响但“休眠”和“快速启动”功能会受影响。快速启动依赖休眠文件所以如果你的开机速度依赖快速启动建议不要关闭休眠文件而是把它的体积调小# 将休眠文件缩小为物理内存的 40% powercfg /h /type reduced4.2 调整虚拟内存虚拟内存文件pagefile.sys默认占用 C 盘空间。如果你的内存足够大16GB 以上可以把它迁移到 D 盘或 E 盘。操作路径右键“此电脑” → 属性 → 高级系统设置 → 性能设置 → 高级 → 虚拟内存更改 → 取消“自动管理所有驱动器的分页文件大小” → 选中 C 盘 → 设置为“无分页文件” → 选中 D 盘 → 设置为“系统管理的大小” → 确定后重启。注意迁移虚拟内存不会提升性能只是把文件挪到别的盘适合 C 盘空间紧张但其他盘空间充足的场景。如果你不确定怎么配置可以保持默认“系统管理的大小”不要手动设置过大。4.3 关闭系统还原或调整还原空间系统还原点是 C 盘空间的隐性占用。右键“此电脑” → 属性 → 系统保护 → 选择 C 盘 → 配置 → 调整“最大使用量”为 5% 到 10%或者直接点击“删除”清除已有还原点。关闭系统还原可以释放几个 GB但代价是失去还原点恢复能力。建议保留一个较小的还原空间不要完全关闭。5. 迁移用户目录和第三方软件缓存清理 C 盘空间的另一条路是“迁移”把大文件移动到其他盘。如果你装了 Docker、WSL、VS Code、ComfyUI 这类工具它们的缓存目录可能占了 10GB 到 50GB 以上。5.1 修改用户级工具缓存路径先看几个最常见的“C 盘杀手”VS Code 缓存VS Code 的扩展和缓存目录位于C:\Users\用户名\.vscode C:\Users\用户名\AppData\Roaming\Code可以通过命令行启动参数--extensions-dir指定扩展目录或者直接修改快捷方式# 创建扩展目录并启动 VS Code code --extensions-dir D:\VSCodeExtensionspip 缓存Python 开发者的 pip 缓存默认在C:\Users\用户名\AppData\Local\pip\Cache迁移方式# 设置 pip 缓存路径 pip config set global.cache-dir D:\pip_cachenpm / pnpm / yarn 缓存# npm 缓存迁移 npm config set cache D:\npm_cache # pnpm 存储路径迁移 pnpm config set store-dir D:\pnpm_store # yarn 缓存迁移 yarn config set cache-folder D:\yarn_cacheHuggingFace 模型缓存AI 方向的同学一定会遇到这个问题HuggingFace 的模型默认缓存到C:\Users\用户名\.cache\huggingface迁移方式# 设置 HF_HOME 环境变量 setx HF_HOME D:\hf_cache或者把.cache目录整体迁移再通过环境变量指向新位置。ComfyUI 的模型如果默认装在C:\Users\用户名\ComfyUI\models或.cache下也可以按相同思路处理。5.2 迁移 Windows 用户文件夹Windows 的“下载”“文档”“桌面”默认都在 C 盘。如果你 C 盘空间不大建议把这三个文件夹迁移到 D 盘。操作路径右键“下载”文件夹 → 属性 → 位置 → 移动 → 选择 D 盘目标文件夹 → 应用。系统会自动弹窗询问是否将现有文件移动到新位置选“是”。文档和桌面同样处理。这样可以避免后续大型文件继续堆积在 C 盘。5.3 迁移 Docker Desktop 虚拟磁盘Docker Desktop 默认虚拟磁盘位置在C:\Users\用户名\AppData\Local\Docker\wsl\disk\docker_data.vhdx迁移方法在 Docker Desktop 设置里找到 Resources → Advanced → Disk image location修改到其他盘。修改前建议先确认没有大量容器在运行。5.4 清理旧版 WSL 发行版如果你装了 WSL虚拟磁盘默认也在 C 盘C:\Users\用户名\AppData\Local\Packages\CanonicalGroupLimited*查看所有发行版wsl --list --verbose导出不需要的发行版到 D 盘wsl --export Ubuntu D:\ubuntu_backup.tar注销发行版以释放 C 盘空间wsl --unregister Ubuntu后续再通过导入方式重新使用wsl --import Ubuntu D:\WSL\Ubuntu D:\ubuntu_backup.tar这是比较高级的操作建议只在有备份的前提下执行。6. 第三方软件专项清理系统自带清理解决不了所有问题很多软件会把缓存写在 AppData 目录里手动删最直接。6.1 清理微信/QQ 缓存微信的缓存目录通常在C:\Users\用户名\Documents\WeChat Files C:\Users\用户名\Documents\xwechat_files微信 PC 版内置了缓存清理功能在“设置 → 文件管理 → 存储空间管理”中可以直接清理图片、视频和文件缓存。建议把“文件保存位置”直接改到 D 盘从源头上避免 C 盘膨胀。QQ 的缓存目录和微信类似登录后在设置里修改文件存储路径即可。6.2 清理浏览器缓存Chrome、Edge 的缓存目录在 AppData 里通常在C:\Users\用户名\AppData\Local\Google\Chrome\User Data\Default\Cache C:\Users\用户名\AppData\Local\Microsoft\Edge\User Data\Default\Cache直接在浏览器设置里“清除浏览数据”或者用磁盘清理工具清理“Internet 临时文件”即可。6.3 清理开发工具缓存JetBrains 全家桶IDEA、PyCharm、CLion会建立大量索引和缓存默认目录是C:\Users\用户名\AppData\Local\JetBrains如果是多个版本连续使用这个目录可以到 10GB 以上。可以在 JetBrains 设置中修改“System Path”“Index Shared Index”等缓存路径或者删除旧版本的Local\JetBrains\目录名下的 cache 子目录不影响项目配置。6.4 清理剪映、PR、PS 等剪辑软件的缓存视频剪辑软件的缓存占空间非常夸张。剪映草稿和缓存可以手动指定到 D 盘PS 的缓存盘设置在“编辑 → 性能 → 暂存盘”默认可能是 C 盘改成 D 盘即可。PR 则是在“项目设置 → 暂存盘”里修改。6.5 清理 Adobe 全家桶的媒体缓存Adobe 软件的 Media Cache 默认从 C 盘读占用同样不小。以 PR 为例路径是C:\Users\用户名\AppData\Roaming\Adobe\Common\Media Cache Files可以在 PR 设置里把 Media Cache 位置改到 D 盘同时把“自动删除旧缓存”阈值调低。7. 手动深挖AppData、WinSxS 和 Windows.old如果你已经执行了上面所有步骤C 盘还是红了大概率是下面几个“硬骨头”还没处理。7.1 用户目录深挖用 WizTree 或 TreeSize 再次扫一下C:\Users\用户名重点看AppData\Local\Temp AppData\Local\Docker AppData\Local\Microsoft AppData\Local\Programs AppData\Roaming .cache .npm .pnpm conda如果发现某个目录特别大需要单独判断。AppData\Local\Programs里一般是软件本体如 VS Code、Postman 等卸载时应该通过“设置 → 应用”而不是直接删文件夹。AppData\Roaming里通常是一个个软件的配置和缓存删除前建议先确认是哪个软件。7.2 使用 DISM 清理 WinSxS如果C:\Windows\WinSxS超过 10GB执行一次完整组件清理Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase/ResetBase会把所有现有更新标记为“不可卸载”并清除所有旧版本组件是释放空间最彻底但不可回退的方法。执行时间可能较长需要保证电源稳定。7.3 删除 Windows.old如果你从旧版本升级到新系统C 盘根目录可能出现Windows.old。确认系统运行正常后可以通过磁盘清理工具的“以前的 Windows 安装”删除或者用命令# 使用磁盘清理中的“清理系统文件”更安全 cleanmgr /d C:建议不要在文件资源管理器中直接右键删除因为部分文件权限复杂容易报错。8. C 盘扩容思路分区调整与风险控制清理完可删内容后如果 C 盘剩余空间仍然不足比如总容量只有 80GB那更彻底的办法是给 C 盘扩容。8.1 使用磁盘管理压缩相邻分区Windows 自带“磁盘管理”可以把相邻分区的未分配空间合并给 C 盘但前提是两个分区相邻。操作路径右键“此电脑”→“管理”→“磁盘管理”在 D 盘上右键“压缩卷”输入要压缩的大小得到“未分配”空间后再在 C 盘上右键“扩展卷”。这个操作只支持相邻分区而且不能跨盘扩容。如果 D 盘和 C 盘之间还有恢复分区扩展卷可能无法选择需要借助 DiskGenius 等第三方工具处理。8.2 使用 DiskGenius 等第三方工具DiskGenius 支持将 D 盘的部分空闲空间合并到 C 盘操作起来更灵活但是需要重启进入 PE 环境执行或者使用 Windows 版本进行操作关键一步是“调整分区大小”后应用。重要提醒分区操作存在数据风险操作前必须备份重要数据。无论用哪款工具建议先在虚拟机或测试机上演练一遍。8.3 终极建议给新软件重新规划安装路径很多人的 C 盘满是因为所有软件默认安装到了 C 盘。这里给一个长期策略安装新软件时手动把安装目录改到 D 盘或 E 盘。微信、QQ、浏览器缓存路径全部改到非系统盘。Steam 游戏库通过“Steam → 设置 → 存储 → 添加新库”放到其他盘。大型开发工具如 Visual Studio、Android Studio、JetBrains 系列都装到非系统盘。通过环境变量setx设置TEMP、TMP到非系统盘减少系统盘写入压力。设置全局临时目录的命令如下# 将用户级临时目录改到 D 盘 setx TEMP D:\tmp setx TMP D:\tmp设置后需要注销或重启生效。系统级临时目录依然在C:\Windows\Temp这个不建议改动因为部分系统服务依赖默认路径。9. 常见问题与排查方法问题现象可能原因排查方式解决方案删除临时文件时提示文件被占用当前用户正在使用该文件如浏览器缓存查看提示中的文件路径关闭对应程序先关闭浏览器或开发工具再执行删除磁盘清理中“Windows 更新清理”为灰色已执行过清理或存在系统更新任务等待 Windows 更新完成后再试先运行 Windows 更新完成后重启再清理休眠文件删除后开机变慢快速启动依赖休眠功能检查电源计划设置执行powercfg /h on重新开启休眠C 盘空间释放后又迅速变满有软件持续写入 C 盘如微信、Docker用 WizTree 扫描新增大文件修改软件缓存/存储路径到其他盘WinSxS 目录过大系统更新累计了大量旧组件运行 DISM Analyze 检查可回收空间执行StartComponentCleanup清理扩展卷选项不可用C 盘右侧没有相邻的未分配空间磁盘管理中查看分区布局使用 DiskGenius 调整分区C 盘根目录出现 pagefile.sys 无法删除虚拟内存正在使用该文件检查虚拟内存设置在虚拟内存设置中迁移到其他盘并重启Windows.old 删除失败权限不足或文件被系统占用使用管理员权限运行磁盘清理在磁盘清理中点击“清理系统文件”后再删除AppData 占用过大但找不到具体软件多个软件缓存分散在 AppData 子目录使用 WizTree 按目录逐层查看定位到具体子目录后修改对应软件缓存路径10. 最佳实践一套可执行的 C 盘保养方案清理是一次性的但空间管理是长期的。这里给出一套可以每季度执行的保养方案每月执行一次“存储感知 → 立即释放空间”勾选临时文件和传递优化文件。每季度执行一次“磁盘清理 → 清理系统文件”重点清理 Windows 更新缓存。每季度用 WizTree 或 TreeSize 扫描一次 C 盘观察是否有新的大目录增长。保持 C 盘剩余空间不低于总容量的 20%否则系统更新和临时文件很容易把 C 盘撑满。所有新软件安装时先自定义安装路径不要直接用默认的 C:\Program Files。微信、QQ、浏览器、开发工具、AI 模型缓存目录全部提前设置到非系统盘。大型下载文件优先下载到 D 盘或 E 盘不要放在“下载”文件夹里不挪走。遇到 C 盘红了不要马上就格式化或重装系统优先排查 AppData、休眠文件、虚拟内存和 Windows.old 这几个大头。11. 总结与下一步C盘清理不是一个“玄学问题”空间分布是可以通过工具和命令量化的。最值得先尝试的操作有两个一是用磁盘清理中的“Windows 更新清理”释放系统残留二是用 WizTree 扫描 AppData 定位缓存大户。先把这两步做完C 盘通常就能腾出不少空间。最容易踩的坑有三个误删C:\Windows\WinSxS里的文件、直接删除pagefile.sys、在分区未备份时执行扩展卷操作。只要记住“系统组件用 DISM 清理、虚拟内存在设置里调整、分区操作先备份”就不会出大问题。如果你按本文操作后 C 盘还是不够用下一步就是给 C 盘扩容或者重新规划软件安装路径。建议先把“微信缓存、Docker 虚拟磁盘、HuggingFace 模型缓存、JetBrains 缓存”这四个大户迁移到其他盘再决定是否需要扩容。空间清理只是开始让 C 盘保持健康的关键还是长期的使用习惯和定期的空间审计。