ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

C盘空间不足?一套系统清理方案从根源解决问题

C盘空间不足?一套系统清理方案从根源解决问题 日常开发中最让人焦虑的弹窗之一大概就是“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 倍系统还原点系统卷影副本可能占据数十 GBWindows 更新缓存C:\Windows\SoftwareDistribution\Download更新补丁下载缓存用户临时文件%TEMP%、C:\Windows\Temp程序运行产生的临时文件聊天软件文件微信、QQ 的接收文件和缓存很容易积累几十 GB浏览器缓存Chrome、Edge 等缓存目录浏览网页产生的缓存开发工具缓存npm、pip、Gradle、Docker 等对开发机影响非常明显从这张表可以看出C 盘空间不足往往不是单个文件造成的而是系统缓存、应用缓存、更新缓存叠加在一起的结果。所以正确的清理思路应该是先扫描再分类清理最后建立维护习惯。1.2 清理前必须遵守的三条原则在动手之前请记住下面这三条原则能帮你避免大部分踩坑不确定的文件先查再删。尤其是C:\Windows目录下的文件普通用户不要手动删除。可以用磁盘清理、DISM 等系统工具。重要资料先备份。涉及删除还原点、压缩系统文件时先把重要数据备份到移动硬盘或云盘。以管理员身份运行命令行。后面很多清理命令需要管理员权限直接双击运行普通命令提示符可能会提示“拒绝访问”。2. 环境说明与工具准备2.1 本文适用环境本文以 Windows 10 / Windows 11 为例部分命令在 Windows 7 上也能运行但效果会有所不同。操作前建议确认系统版本winver运行后弹出的窗口会显示当前系统版本和内部版本号。本文的命令不需要额外安装运行环境系统自带的命令提示符、PowerShell 即可完成大部分操作。2.2 推荐准备的工具准备两个轻量工具能让清理效率提升很多工具作用获取方式WizTree快速扫描磁盘占用定位大文件官网下载免费便携版WizTree / TreeSize 二选一目录大小分析按需选择Dism系统级清理与优化上官网下载绿色版需要说明的是WizTree 和 Dism 都很轻量基本是绿色软件不需要安装解压后即可使用。如果你不方便下载第三方工具Windows 自带的“存储感知”和“磁盘清理”也能完成一部分工作后面会讲。2.3 提前做好备份清理前建议先创建一个系统还原点尤其当你准备执行删除还原点、压缩 WSL 虚拟磁盘这类操作时。创建还原点的方法在任务栏搜索“创建还原点”并打开。选择 C 盘点击“配置”。选择“启用系统保护”把磁盘空间使用量调整到合适的值。返回窗口点击“创建”输入还原点名称等待完成。创建好还原点之后后续操作即使出现问题也可以从还原点把系统恢复到清理前的状态。3. 第一步用 WizTree 扫描 C 盘找到真正的“空间杀手”3.1 为什么推荐先扫描很多人清理 C 盘的习惯是打开“设置 → 系统 → 存储”看系统给出的清理建议。这个方法不是不能用但它能覆盖的清理项有限更多时候你还是不知道 50GB 空间到底被谁占用了。WizTree 这类工具能直接读取 NTFS 主文件表扫描速度非常快往往几秒到十几秒就能扫完整块硬盘。它会把所有目录和文件按大小排序展示出来一眼就能看到占用最大的目录在哪里。3.2 扫描流程打开 WizTree 后选择 C 盘点击“扫描”。扫描完成后界面会显示各个目录的大小排行。常见的几个大户一眼就能看出来C:\Users\你的用户名\AppData通常是微信、浏览器、开发工具缓存。C:\Windows\WinSxS系统组件存储。C:\Program Files或C:\Program Files (x86)安装了大型软件的目录。C:\hiberfil.sys休眠文件。C:\Users\你的用户名\Downloads下载目录。C:\Users\你的用户名\Documents\WeChat Files或xwechat_files微信聊天文件。结合 WizTree 的结果你再决定优先清理哪一块就不会漫无目的地删文件了。3.3 注意区分“可删”和“不可删”扫描结果里会出现大量系统文件比如pagefile.sys、swapfile.sys、WinSxS等。这些文件虽然占空间但不建议直接右键删除。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 21 rd /s /q %TEMP% nul 21注意rd删除目录后建议重新创建一个%TEMP%目录否则某些老程序可能出现找不到临时目录的问题。实际上系统会在下次重启后自动创建所以不用太担心。系统临时目录C:\Windows\Temp也可以一并清理del /f /s /q C:\Windows\Temp\*.* nul 215.2 微信、QQ 聊天记录与传输文件微信是 C 盘空间消耗大户里非常典型的一个。默认情况下微信会把接收的图片、视频、聊天记录缓存都存放在C:\Users\你的用户名\Documents\WeChat Files新版微信使用xwechat_files目录。在微信客户端中通过“设置 → 文件管理 → 打开文件夹”可以快速定位到文件目录。你可以手动查看哪些聊天对象的文件比较大然后选择性清理。更推荐的做法是把微信的文件存储位置改到 D 盘或 E 盘。微信 → 设置 → 文件管理 → 更改选择新目录后微信会自动迁移现有文件。以后新的接收文件就都存到新盘了。QQ 的类似操作路径是QQ → 设置 → 文件管理 → 打开文件夹清理时重点删除Image、Video、File子目录里不需要的旧文件。聊天数据块文件如.dat结尾的数据库文件不建议手动删除否则可能丢失聊天记录。5.3 浏览器缓存Chrome 浏览器缓存路径C:\Users\你的用户名\AppData\Local\Google\Chrome\User Data\Default\CacheEdge 浏览器缓存路径C:\Users\你的用户名\AppData\Local\Microsoft\Edge\User Data\Default\Cache这些缓存文件可以删除但不建议在浏览器运行时手动删除最好先关闭浏览器。更省事的方法是在浏览器设置里找到“清除浏览数据”选择“缓存的图片和文件”按时间范围清理。5.4 下载文件夹与桌面很多人的Downloads文件夹和桌面其实才是占用大户。系统安装包、压缩包、录屏文件、临时文档全部堆在一起不知不觉攒了几十 GB。清理思路很简单用 WizTree 扫描Downloads目录按大小排序。把需要的文件移动到 D 盘或移动硬盘。把不需要的安装包、临时压缩包直接删除。以后下载文件时养成“指定下载路径”的习惯不要所有文件都进 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 --forcepnpm 的 store 目录同样不小。查看 store 路径pnpm store path清理不需要的版本缓存pnpm store pruneyarn 缓存清理yarn cache clean还可以通过命令查看 Yarn 缓存目录yarn cache dir6.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其中包括caches、wrapper、daemon等目录。可以通过以下命令清理旧版缓存但要注意某些项目可能需要重新下载依赖gradle clean更彻底的做法是定期删除.gradle\caches下的旧版本模块缓存保留当前项目依赖的缓存即可。6.4 JetBrains 全家桶缓存使用 IntelliJ IDEA、PyCharm、WebStorm 等 JetBrains 开发工具时会在本地生成大量索引和缓存文件。主要路径%LocalAppData%\JetBrains\该目录下每个工具都有一个版本目录里面包含caches、log、index等子目录。建议打开 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操作步骤如下关闭所有 WSL 进程wsl --shutdown打开管理员命令提示符输入diskpart依次执行select vdisk fileC:\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 项目的target、build目录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.batecho off chcp 65001 nul echo echo C 盘清理脚本请以管理员身份运行 echo echo. rem 1. 清理系统临时文件 echo [1/6] 清理系统临时文件... del /f /s /q C:\Windows\Temp\*.* nul 21 del /f /s /q %TEMP%\*.* nul 21 rem 2. 清理 Windows 更新缓存 echo [2/6] 清理 Windows 更新缓存... net stop wuauserv nul 21 net stop bits nul 21 del /f /s /q C:\Windows\SoftwareDistribution\Download\*.* nul 21 net start bits nul 21 net start wuauserv nul 21 rem 3. 清理回收站 echo [3/6] 清理回收站... rd /s /q C:\$Recycle.Bin nul 21 rem 4. 清理缩略图缓存 echo [4/6] 清理缩略图缓存... del /f /s /q /a:h %LocalAppData%\Microsoft\Windows\Explorer\thumbcache_*.db nul 21 rem 5. 清理无效快捷方式可选 echo [5/6] 检查常见缓存目录... del /f /s /q %LocalAppData%\Temp\*.* nul 21 rem 6. 清理 Windows 预读取文件 echo [6/6] 清理预读取文件... del /f /s /q C:\Windows\Prefetch\*.* nul 21 echo. echo 清理完成建议重启一次电脑。 pause使用方式将脚本保存为clean_c.bat。右键点击脚本选择“以管理员身份运行”。等待执行完毕重启电脑。脚本比较简单适合日常快速清理。如果要执行更深入的清理如 DISM、休眠文件建议配合手动命令避免所有操作在一个脚本里全部执行减少风险。8. 常见问题与排查思路清理过程中难免会遇到一些问题。下表整理了高频问题和解决方案问题现象常见原因解决思路清理后空间依然不足用户目录或软件缓存占大头用 WizTree 重新扫描继续定位大目录删除文件提示“正在使用”文件被系统或后台程序占用关闭相关程序重启后再删除休眠文件无法删除没有用管理员权限执行命令用管理员命令提示符执行powercfg /h off删完临时文件系统异常误删了某些程序正在使用的缓存重启电脑或从还原点恢复WinSxS 目录太大系统更新组件历史残留用 DISM 清理不要手动删微信迁移文件后聊天记录丢失迁移过程中旧文件被清理迁移前先备份完整微信号文件目录Docker 磁盘占用过大WSL 虚拟磁盘不会自动收缩执行wsl --shutdown后用 diskpart 压缩清理后 C 盘又很快变满没有设置存储位置软件继续写入系统盘调整微信、浏览器、下载目录、开发缓存的存储路径无法删除系统还原点没有管理员权限或系统保护关闭以管理员权限运行vssadmin delete shadows如果你遇到“空间清理后依然不足”的情况建议回到第 3 章重新扫描一遍检查是否有超大单个文件比如pagefile.sys、hiberfil.sys、WSL 磁盘、虚拟机镜像、视频工程文件等。9. 最佳实践别等 C 盘飘红再动手9.1 改变软件默认安装位置很多软件默认安装到C:\Program Files但并不是所有软件都强制装在 C 盘。安装时选择“自定义安装”把目录改到 D 盘或 E 盘日积月累能省下大量空间。平时固定使用的开发工具比如 Android Studio、Docker Desktop、JetBrains 系列如果安装时可以指定目录尽量选择非系统盘。9.2 把个人数据文件夹迁移到其他盘Windows 支持把“桌面”“下载”“文档”“图片”等系统用户文件夹移动到其他盘。操作方法打开此电脑找到左侧“快速访问”中的“下载”或“文档”。右键点击“属性 → 位置”。点击“移动”选择新磁盘路径。点击“确定”系统会迁移该文件夹。这样以后下载的文件、桌面上放的资料就直接存到其他盘了。9.3 定期执行“三分钟维护”建议每周执行一次三分钟维护动作频率运行清理脚本或磁盘清理每周一次检查微信文件存储位置每月一次用 WizTree 扫描 C 盘每月一次清理 npm / pip / Docker 缓存每月一次检查下载目录与桌面每周一次9.4 保留系统还原点的同时设置上限系统保护很有用但不能无限制占用磁盘。在“系统保护 → 配置”中把“最大使用量”设置成 5% 或 10%系统会自动淘汰旧还原点避免 C 盘被还原点占满。9.5 不要在这类操作上拖延C 盘飘红不仅是空间问题还会影响虚拟内存、系统更新、IDE 索引、数据库运行最终体现为电脑变卡、编译变慢、软件崩溃。与其等到系统警告不如现在动手做一次全面清理。清理 C 盘不是一劳永逸的事但只要掌握了定位大文件的方法理解了系统文件、应用缓存、开发缓存的分布之后每次清理都会变得很轻松。先用 WizTree 扫一遍再按系统级、用户级、开发者级三个维度逐层清理最后配合命令行脚本和存储位置调整就能让系统盘长期保持充足空间。希望这份教程能帮你把电脑重新变流畅清理完之后建议顺手把常用软件的文件目录都迁出 C 盘避免下次再飘红。
返回列表