C盘空间不足?一套系统清理方案从根源解决问题
2026/8/27 9:47:51 网站建设 项目流程

日常开发中,最让人焦虑的弹窗之一,大概就是“C盘空间不足”。明明只装了几个常用软件,系统盘却悄悄变成红色;临时文件清理了一波,过两天又打回原形。更要命的是,网上搜索“C盘清理工具”,搜出来的全是各种全家桶安装器,点了“立即下载”之后,桌面突然多出三五个不认识的软件。

这篇文章不推荐你安装任何“C盘清理大师”,而是用一套系统化的方案,从空间扫描、系统组件、用户缓存、开发者专属目录几个维度,把 C 盘空间一点点找回来。无论你是普通办公用户、学生党,还是后端开发、前端开发,都能从里面找到适合自己的清理策略。

文章会覆盖以下内容:

  • C 盘空间是如何被占用的,先梳理再动手。
  • 用 WizTree 快速定位大文件与目录。
  • 清理休眠文件、系统更新缓存、WinSxS 组件存储。
  • 清理微信、QQ、浏览器缓存等用户目录大户。
  • 开发者专属:npm、pip、Docker、JetBrains 缓存清理。
  • 一套可以直接运行的 Windows 清理脚本。
  • 常见问题排查与日常维护清单。

建议先把文章收藏,再按照章节顺序操作。遇到不确定的文件,宁可先查一下再删,也不要盲目删除系统文件。

1. 清理之前的认知:C盘空间到底被谁吃了

1.1 先理解 C 盘的一类典型占用

很多教程一上来就让你删这个删那个,但如果不清楚空间去向,很容易把系统文件误删,导致蓝屏或软件无法启动。

C 盘常见的大块空间占用,可以分成这么几类:

占用类型典型路径说明
系统核心文件C:\Windows系统目录,不建议手动大范围删除
休眠文件C:\hiberfil.sys保存休眠会话的大文件,大小接近物理内存
虚拟内存C:\pagefile.sys系统页面文件,占用通常为内存的 1~2 倍
系统还原点系统卷影副本可能占据数十 GB
Windows 更新缓存C:\Windows\SoftwareDistribution\Download更新补丁下载缓存
用户临时文件%TEMP%C:\Windows\Temp程序运行产生的临时文件
聊天软件文件微信、QQ 的接收文件和缓存很容易积累几十 GB
浏览器缓存Chrome、Edge 等缓存目录浏览网页产生的缓存
开发工具缓存npm、pip、Gradle、Docker 等对开发机影响非常明显

从这张表可以看出,C 盘空间不足往往不是单个文件造成的,而是系统缓存、应用缓存、更新缓存叠加在一起的结果。所以正确的清理思路应该是:先扫描,再分类清理,最后建立维护习惯。

1.2 清理前必须遵守的三条原则

在动手之前,请记住下面这三条原则,能帮你避免大部分踩坑:

  1. 不确定的文件先查再删。尤其是C:\Windows目录下的文件,普通用户不要手动删除。可以用磁盘清理、DISM 等系统工具。
  2. 重要资料先备份。涉及删除还原点、压缩系统文件时,先把重要数据备份到移动硬盘或云盘。
  3. 以管理员身份运行命令行。后面很多清理命令需要管理员权限,直接双击运行普通命令提示符可能会提示“拒绝访问”。

2. 环境说明与工具准备

2.1 本文适用环境

本文以 Windows 10 / Windows 11 为例,部分命令在 Windows 7 上也能运行,但效果会有所不同。

操作前建议确认系统版本:

winver

运行后弹出的窗口会显示当前系统版本和内部版本号。本文的命令不需要额外安装运行环境,系统自带的命令提示符、PowerShell 即可完成大部分操作。

2.2 推荐准备的工具

准备两个轻量工具,能让清理效率提升很多:

工具作用获取方式
WizTree快速扫描磁盘占用,定位大文件官网下载免费便携版
WizTree / TreeSize 二选一目录大小分析按需选择
Dism++系统级清理与优化上官网下载绿色版

需要说明的是,WizTree 和 Dism++ 都很轻量,基本是绿色软件,不需要安装,解压后即可使用。如果你不方便下载第三方工具,Windows 自带的“存储感知”和“磁盘清理”也能完成一部分工作,后面会讲。

2.3 提前做好备份

清理前建议先创建一个系统还原点,尤其当你准备执行删除还原点、压缩 WSL 虚拟磁盘这类操作时。

创建还原点的方法:

  1. 在任务栏搜索“创建还原点”并打开。
  2. 选择 C 盘,点击“配置”。
  3. 选择“启用系统保护”,把磁盘空间使用量调整到合适的值。
  4. 返回窗口,点击“创建”,输入还原点名称,等待完成。

创建好还原点之后,后续操作即使出现问题,也可以从还原点把系统恢复到清理前的状态。

3. 第一步:用 WizTree 扫描 C 盘,找到真正的“空间杀手”

3.1 为什么推荐先扫描

很多人清理 C 盘的习惯是打开“设置 → 系统 → 存储”,看系统给出的清理建议。这个方法不是不能用,但它能覆盖的清理项有限,更多时候你还是不知道 50GB 空间到底被谁占用了。

WizTree 这类工具能直接读取 NTFS 主文件表,扫描速度非常快,往往几秒到十几秒就能扫完整块硬盘。它会把所有目录和文件按大小排序展示出来,一眼就能看到占用最大的目录在哪里。

3.2 扫描流程

打开 WizTree 后,选择 C 盘,点击“扫描”。

扫描完成后,界面会显示各个目录的大小排行。常见的几个大户一眼就能看出来:

  • C:\Users\你的用户名\AppData,通常是微信、浏览器、开发工具缓存。
  • C:\Windows\WinSxS,系统组件存储。
  • C:\Program FilesC:\Program Files (x86),安装了大型软件的目录。
  • C:\hiberfil.sys,休眠文件。
  • C:\Users\你的用户名\Downloads,下载目录。
  • C:\Users\你的用户名\Documents\WeChat Filesxwechat_files,微信聊天文件。

结合 WizTree 的结果,你再决定优先清理哪一块,就不会漫无目的地删文件了。

3.3 注意区分“可删”和“不可删”

扫描结果里会出现大量系统文件,比如pagefile.sysswapfile.sysWinSxS等。这些文件虽然占空间,但不建议直接右键删除。

  • pagefile.sys:虚拟内存文件,删除会导致系统不稳定,建议通过“系统属性 → 高级 → 性能设置”调整页面文件大小或迁移到其他盘。
  • hiberfil.sys:休眠文件,可以通过命令关闭休眠功能来释放。
  • WinSxS:系统组件存储,直接删除会破坏系统,必须用 DISM 工具清理。
  • System Volume Information:系统还原点存储,需要用系统保护设置或vssadmin命令清理。

4. 第二步:系统级清理,把 Windows 自己产生的垃圾清掉

4.1 使用系统自带的“存储感知”

Windows 10 和 Windows 11 都自带存储感知功能。打开方式:

设置 → 系统 → 存储

开启“存储感知”后,系统会自动清理临时文件和回收站内容。你也可以点击“临时文件”,手动勾选需要删除的项目:

  • 传递优化文件
  • 临时文件
  • 回收站
  • Windows 更新清理

建议不要勾选“下载”文件夹,除非你确认里面的安装包都不需要了。

4.2 用“磁盘清理”清理系统文件

磁盘清理是 Windows 老牌工具,干净可靠。

Win + R,输入:

cleanmgr

先选择 C 盘,等待扫描。扫描完成后,点击“清理系统文件”,再次选择 C 盘,这样能看到更完整的清理项,比如“Windows 更新清理”“设备驱动程序包”等。

推荐勾选的项目:

  • Windows 更新清理
  • 临时文件
  • 缩略图
  • 回收站
  • 传递优化文件

4.3 关闭休眠并删除 hiberfil.sys

休眠功能会在系统盘根目录生成hiberfil.sys,文件大小通常等于物理内存的 40% 到 70%。如果 16GB 内存,这个文件可能有 6GB 到 10GB。

如果你用不到“休眠”功能,可以用管理员身份打开命令提示符,执行:

powercfg /h off

命令执行后,hiberfil.sys会自动删除。如果你以后想恢复休眠功能,可以用:

powercfg /h on

需要注意,关闭休眠后,“开始菜单 → 电源”里的“休眠”按钮会消失,但“睡眠”功能不受影响。

4.4 清理 Windows 更新残留

Windows 更新补丁下载后,会缓存在:

C:\Windows\SoftwareDistribution\Download

这个目录里的文件可以删除,正确的做法是停掉 Windows Update 服务再删除,避免文件被占用。

用管理员身份执行:

net stop wuauserv net stop bits del /f /s /q C:\Windows\SoftwareDistribution\Download\*.* net start bits net start wuauserv

执行完后,更新缓存就清空了。

4.5 使用 DISM 清理 WinSxS 组件存储

WinSxS 是 Windows 组件存储目录,随着系统更新会越来越大,但它不能直接删除。微软提供了 DISM 工具来分析并清理。

查看组件存储大小:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

执行清理:

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

如果希望进一步清理旧版本组件,可以加上/ResetBase参数:

Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase

关于/ResetBase需要特别注意:它会把所有现有更新固化为系统镜像,清理之后无法卸载已安装的更新补丁。所以执行前确认系统运行正常,且短期内不需要卸载补丁。

4.6 清理系统还原点

如果你的系统还原点占用了大量空间,可以在“系统保护”设置中调整占用上限,或者删除旧的还原点。

查看系统保护设置:

vssadmin list shadowstorage

查看当前还原点:

vssadmin list shadows

如果确认不需要保留任何还原点,可以执行:

vssadmin delete shadows /all /quiet

这里一定要说清楚:删除所有还原点后,之前可以用来回滚系统的所有还原点都会丢失,操作前必须确认系统稳定,且重要数据已备份。

5. 第三步:清理用户目录中的“隐形大户”

5.1 临时文件目录

用户临时文件位于:

%TEMP%

可以直接在资源管理器地址栏输入%TEMP%回车,全选并删除里面的文件。部分文件被程序占用不能删除时,跳过即可。

也可以使用命令行清理:

del /f /s /q "%TEMP%\*.*" >nul 2>&1 rd /s /q "%TEMP%" >nul 2>&1

注意:rd删除目录后,建议重新创建一个%TEMP%目录,否则某些老程序可能出现找不到临时目录的问题。实际上系统会在下次重启后自动创建,所以不用太担心。

系统临时目录C:\Windows\Temp也可以一并清理:

del /f /s /q C:\Windows\Temp\*.* >nul 2>&1

5.2 微信、QQ 聊天记录与传输文件

微信是 C 盘空间消耗大户里非常典型的一个。默认情况下,微信会把接收的图片、视频、聊天记录缓存都存放在:

C:\Users\你的用户名\Documents\WeChat Files

新版微信使用xwechat_files目录。

在微信客户端中,通过“设置 → 文件管理 → 打开文件夹”可以快速定位到文件目录。你可以手动查看哪些聊天对象的文件比较大,然后选择性清理。

更推荐的做法是:把微信的文件存储位置改到 D 盘或 E 盘。

微信 → 设置 → 文件管理 → 更改,选择新目录后,微信会自动迁移现有文件。以后新的接收文件就都存到新盘了。

QQ 的类似操作路径是:

QQ → 设置 → 文件管理 → 打开文件夹

清理时重点删除ImageVideoFile子目录里不需要的旧文件。聊天数据块文件(如.dat结尾的数据库文件)不建议手动删除,否则可能丢失聊天记录。

5.3 浏览器缓存

Chrome 浏览器缓存路径:

C:\Users\你的用户名\AppData\Local\Google\Chrome\User Data\Default\Cache

Edge 浏览器缓存路径:

C:\Users\你的用户名\AppData\Local\Microsoft\Edge\User Data\Default\Cache

这些缓存文件可以删除,但不建议在浏览器运行时手动删除,最好先关闭浏览器。更省事的方法是:在浏览器设置里找到“清除浏览数据”,选择“缓存的图片和文件”,按时间范围清理。

5.4 下载文件夹与桌面

很多人的Downloads文件夹和桌面其实才是占用大户。系统安装包、压缩包、录屏文件、临时文档全部堆在一起,不知不觉攒了几十 GB。

清理思路很简单:

  1. 用 WizTree 扫描Downloads目录,按大小排序。
  2. 把需要的文件移动到 D 盘或移动硬盘。
  3. 把不需要的安装包、临时压缩包直接删除。
  4. 以后下载文件时,养成“指定下载路径”的习惯,不要所有文件都进 C 盘。

5.5 OneDrive 本地备份

如果你开启了 OneDrive,并且把桌面、文档、图片等文件夹都同步了,那么这些内容也会占用 C 盘空间。

可以在 OneDrive 设置中检查“账户 → 管理存储”里各文件夹的占用情况。如果不需要将所有文件保存在本机,可以开启“文件随选”(Files On-Demand),让文件只保留云端副本,本地占用会大幅降低。

如果公司或学校强制要求 OneDrive 同步,至少把同步文件夹位置迁移到非系统盘。

6. 第四步:开发者专属清理,释放被工具链占用的空间

如果你是开发人员,C 盘空间不够,很可能是开发工具与构建缓存造成的。清理完下面这些目录,会有“山重水复疑无路”的感觉。

6.1 npm / pnpm / yarn 缓存

前端项目开发中,npm 缓存会占用不少空间。查看 npm 缓存位置:

npm config get cache

清理 npm 缓存:

npm cache clean --force

pnpm 的 store 目录同样不小。查看 store 路径:

pnpm store path

清理不需要的版本缓存:

pnpm store prune

yarn 缓存清理:

yarn cache clean

还可以通过命令查看 Yarn 缓存目录:

yarn cache dir

6.2 pip 缓存

Python 开发者经常用 pip 安装包,每次安装都会产生缓存包。清理命令:

pip cache purge

查看缓存目录位置:

pip cache dir

如果你的环境里有 conda,还可以执行:

conda clean --all

清理 conda 的缓存、临时文件和无用的包。

6.3 Maven / Gradle 缓存

Java 开发的 Maven 本地仓库默认在用户目录下的.m2目录:

C:\Users\你的用户名\.m2\repository

这个目录会随着依赖增多不断膨胀。可以使用mvn dependency:analyze检查无用的依赖,但手动清理比较麻烦。简单做法是:把.m2目录整体迁移到其他盘,然后在 IDE 中重新配置本地仓库路径。

Gradle 缓存目录:

C:\Users\你的用户名\.gradle

其中包括cacheswrapperdaemon等目录。可以通过以下命令清理旧版缓存,但要注意某些项目可能需要重新下载依赖:

gradle clean

更彻底的做法是定期删除.gradle\caches下的旧版本模块缓存,保留当前项目依赖的缓存即可。

6.4 JetBrains 全家桶缓存

使用 IntelliJ IDEA、PyCharm、WebStorm 等 JetBrains 开发工具时,会在本地生成大量索引和缓存文件。主要路径:

%LocalAppData%\JetBrains\

该目录下每个工具都有一个版本目录,里面包含cacheslogindex等子目录。建议打开 JetBrains 工具,在“设置 → 外观与行为 → 系统设置 → 缓存”中点击“清除缓存”,或者直接删除旧版本目录内的大缓存文件。

注意:删除缓存后,下次启动 IDE 会重新建立索引,首次打开项目会变慢,但这是正常现象。

6.5 Docker Desktop 与 WSL 虚拟磁盘

Docker Desktop 默认使用 WSL 2 作为后端,会在本地生成一个大型虚拟磁盘文件。时间久了,这个文件会越来越大,即使删除容器和镜像,磁盘大小可能也不会自动收缩。

查看 WSL 发行版信息:

wsl --list --verbose

使用wsl --shutdown关闭 WSL,然后打开 Windows 的“磁盘管理”或“设置 → 应用 → 已安装的应用”,找到对应的 WSL 发行版,查看虚拟磁盘路径。

虚拟磁盘文件通常位于:

C:\Users\你的用户名\AppData\Local\Packages\CanonicalGroupLimited...\LocalState\ext4.vhdx

压缩这个文件需要用到 diskpart,操作步骤如下:

  1. 关闭所有 WSL 进程:wsl --shutdown
  2. 打开管理员命令提示符,输入diskpart
  3. 依次执行:
select vdisk file="C:\Users\你的用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu...\LocalState\ext4.vhdx" attach vdisk readonly compact vdisk detach vdisk exit

这里要提醒:vhdx路径需要根据你自己的 WSL 发行版和用户目录调整。压缩前建议备份重要数据,操作过程中不要强制关机。

如果是 Docker Desktop,也可以直接设置“Settings → Resources → Advanced”,调整磁盘镜像大小上限,或者将 Docker 数据目录迁移到其他盘。

6.6 项目构建产物

开发项目时,前端项目的node_modules、Java 项目的targetbuild目录,C++ 项目的build目录,都很占空间。

如果你有很多旧项目,清理掉不再使用的:

del /f /s /q D:\projects\old-project\node_modules

更稳妥地,在项目根目录执行:

npm prune

或者干脆删除node_modules,之后用npm install重新安装。

Java 项目可以执行:

mvn clean

这会清理target目录。

7. 第五步:一键清理脚本,把常用清理命令打包

手动执行上面这些命令比较繁琐。这里分享一个可以保存为.bat文件的清理脚本,日常双击运行即可。

文件路径:C:\Scripts\clean_c.bat

@echo off chcp 65001 >nul echo ========================================== echo C 盘清理脚本,请以管理员身份运行 echo ========================================== echo. rem 1. 清理系统临时文件 echo [1/6] 清理系统临时文件... del /f /s /q C:\Windows\Temp\*.* >nul 2>&1 del /f /s /q "%TEMP%\*.*" >nul 2>&1 rem 2. 清理 Windows 更新缓存 echo [2/6] 清理 Windows 更新缓存... net stop wuauserv >nul 2>&1 net stop bits >nul 2>&1 del /f /s /q C:\Windows\SoftwareDistribution\Download\*.* >nul 2>&1 net start bits >nul 2>&1 net start wuauserv >nul 2>&1 rem 3. 清理回收站 echo [3/6] 清理回收站... rd /s /q C:\$Recycle.Bin >nul 2>&1 rem 4. 清理缩略图缓存 echo [4/6] 清理缩略图缓存... del /f /s /q /a:h "%LocalAppData%\Microsoft\Windows\Explorer\thumbcache_*.db" >nul 2>&1 rem 5. 清理无效快捷方式(可选) echo [5/6] 检查常见缓存目录... del /f /s /q "%LocalAppData%\Temp\*.*" >nul 2>&1 rem 6. 清理 Windows 预读取文件 echo [6/6] 清理预读取文件... del /f /s /q C:\Windows\Prefetch\*.* >nul 2>&1 echo. echo 清理完成!建议重启一次电脑。 pause

使用方式:

  1. 将脚本保存为clean_c.bat
  2. 右键点击脚本,选择“以管理员身份运行”。
  3. 等待执行完毕,重启电脑。

脚本比较简单,适合日常快速清理。如果要执行更深入的清理(如 DISM、休眠文件),建议配合手动命令,避免所有操作在一个脚本里全部执行,减少风险。

8. 常见问题与排查思路

清理过程中难免会遇到一些问题。下表整理了高频问题和解决方案:

问题现象常见原因解决思路
清理后空间依然不足用户目录或软件缓存占大头用 WizTree 重新扫描,继续定位大目录
删除文件提示“正在使用”文件被系统或后台程序占用关闭相关程序;重启后再删除
休眠文件无法删除没有用管理员权限执行命令用管理员命令提示符执行powercfg /h off
删完临时文件系统异常误删了某些程序正在使用的缓存重启电脑,或从还原点恢复
WinSxS 目录太大系统更新组件历史残留用 DISM 清理,不要手动删
微信迁移文件后,聊天记录丢失迁移过程中旧文件被清理迁移前先备份完整微信号文件目录
Docker 磁盘占用过大WSL 虚拟磁盘不会自动收缩执行wsl --shutdown后用 diskpart 压缩
清理后 C 盘又很快变满没有设置存储位置,软件继续写入系统盘调整微信、浏览器、下载目录、开发缓存的存储路径
无法删除系统还原点没有管理员权限或系统保护关闭以管理员权限运行vssadmin delete shadows

如果你遇到“空间清理后依然不足”的情况,建议回到第 3 章重新扫描一遍,检查是否有超大单个文件,比如pagefile.syshiberfil.sys、WSL 磁盘、虚拟机镜像、视频工程文件等。

9. 最佳实践:别等 C 盘飘红再动手

9.1 改变软件默认安装位置

很多软件默认安装到C:\Program Files,但并不是所有软件都强制装在 C 盘。安装时选择“自定义安装”,把目录改到 D 盘或 E 盘,日积月累能省下大量空间。

平时固定使用的开发工具,比如 Android Studio、Docker Desktop、JetBrains 系列,如果安装时可以指定目录,尽量选择非系统盘。

9.2 把个人数据文件夹迁移到其他盘

Windows 支持把“桌面”“下载”“文档”“图片”等系统用户文件夹移动到其他盘。

操作方法:

  1. 打开此电脑,找到左侧“快速访问”中的“下载”或“文档”。
  2. 右键点击“属性 → 位置”。
  3. 点击“移动”,选择新磁盘路径。
  4. 点击“确定”,系统会迁移该文件夹。

这样以后下载的文件、桌面上放的资料,就直接存到其他盘了。

9.3 定期执行“三分钟维护”

建议每周执行一次三分钟维护:

动作频率
运行清理脚本或磁盘清理每周一次
检查微信文件存储位置每月一次
用 WizTree 扫描 C 盘每月一次
清理 npm / pip / Docker 缓存每月一次
检查下载目录与桌面每周一次

9.4 保留系统还原点的同时设置上限

系统保护很有用,但不能无限制占用磁盘。在“系统保护 → 配置”中,把“最大使用量”设置成 5% 或 10%,系统会自动淘汰旧还原点,避免 C 盘被还原点占满。

9.5 不要在这类操作上拖延

C 盘飘红不仅是空间问题,还会影响虚拟内存、系统更新、IDE 索引、数据库运行,最终体现为电脑变卡、编译变慢、软件崩溃。与其等到系统警告,不如现在动手做一次全面清理。


清理 C 盘不是一劳永逸的事,但只要掌握了定位大文件的方法,理解了系统文件、应用缓存、开发缓存的分布,之后每次清理都会变得很轻松。先用 WizTree 扫一遍,再按系统级、用户级、开发者级三个维度逐层清理,最后配合命令行脚本和存储位置调整,就能让系统盘长期保持充足空间。希望这份教程能帮你把电脑重新变流畅,清理完之后,建议顺手把常用软件的文件目录都迁出 C 盘,避免下次再飘红。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询