C盘清理实战:用系统自带工具和命令安全释放十几个G空间
2026/9/7 3:13:23 网站建设 项目流程

C盘又红了,可能是打工人电脑里最经典的开年焦虑之一。很多人第一反应是下载一个“清理软件”,结果装完发现弹窗比垃圾还多,C盘空间没少多少,浏览器主页却莫名其妙被改了。其实在 Windows 10 和 Windows 11 上,很多有效的清理操作根本不需要第三方工具,用系统自带功能和几条命令就能完成。本文会把清理C盘的思路拆成“系统工具清理、隐形文件处理、大文件定位、脚本自动化、日常预防”几个部分,结合常见占空间场景,整理一套能实际腾出几个G甚至十几个G空间的方案,同时也会标注哪些操作需要谨慎,避免误删系统文件。

本文以 Windows 10 / Windows 11 为例,命令基本兼容,部分操作需要管理员权限。如果你不希望用来路不明的“清理大师”,也不想天天手动删文件,这篇文章值得收藏备用。

1. C盘为什么总是不够用?先搞清楚空间去哪了

1.1 这些“空间小偷”最常见

C盘之所以容易满,是因为它是系统盘,几乎所有“默认路径”都会往C盘塞数据。比如系统更新、软件安装、浏览器缓存、聊天记录、临时文件、虚拟内存,全都默认放在C盘。随着时间推移,这些数据会慢慢积累成几个G甚至几十个G。

比较常见的占用来源包括:

  • 系统更新缓存:位于C:\Windows\SoftwareDistribution\Download,反复更新后可能达到数GB。
  • 休眠文件:C:\hiberfil.sys,默认大小约为物理内存的 40% 到 75%,16GB 内存的电脑可能占用 6GB 到 10GB。
  • 虚拟内存:C:\pagefile.sys,默认会占用相当于物理内存 1 到 2 倍的空间。
  • 临时文件:用户临时目录、系统临时目录、浏览器缓存,日积月累非常可观。
  • 软件缓存:微信、QQ、浏览器、IDE、包管理器都会缓存文件,尤其是聊天记录和模型文件,轻松达到几十GB。
  • 系统还原点:卷影副本会占用 C 盘空间,默认情况下可能占几个GB。
  • 升级残留目录:C:\Windows.old可能在系统大版本升级后残留 10GB 到 20GB。
  • 组件存储:C:\Windows\WinSxS里的旧组件版本会持续增长,只能通过 DISM 命令安全清理。

很多用户觉得C盘“莫名”满了,其实并不是系统在悄悄干坏事,而是这些目录被你忽略了。只有先搞清楚空间去哪了,清理才有针对性,也才能避免误删。

1.2 清理前必须做的准备工作

清理C盘并不复杂,但安全永远是第一位的。动手之前,建议先做下面几件事:

  • 关闭正在运行的重要程序,尤其是浏览器、微信、QQ、开发工具、数据库等。程序进程会占用文件,导致清理时出现“文件正在使用”的提示。
  • 重要数据先备份。虽然下面介绍的都是常规清理项,但磁盘操作总有意外,建议把桌面上还没整理的重要文档、照片先复制到 D 盘或网盘。
  • 创建系统还原点。在“开始菜单”搜索“创建还原点”,进入“系统保护”选项卡,给 C 盘创建一个还原点。万一清理过程中误删了系统文件,还能恢复到当前状态。
  • 绝大多数清理命令都需要管理员权限。建议先打开“以管理员身份运行”的命令提示符或 PowerShell,再执行命令。

准备工作做完后,下面就可以正式操作了。

2. 先用系统自带功能,安全清理一大波

2.1 磁盘清理工具与“清理系统文件”

Windows 自带了一个非常容易被忽视的清理工具:磁盘清理。它在 Windows 10 / Windows 11 上都存在,而且清理得很干净,不需要安装任何第三方软件。

在“开始菜单”搜索“磁盘清理”,选择C盘,系统会先扫描一遍可清理项目。这里要注意,第一次扫描出来的只是“普通项目”,真正的大头在“清理系统文件”按钮里。

点击“清理系统文件”后,系统会重新扫描。这一步会列出“Windows更新清理”“以前的Windows安装”“传递优化文件”“临时文件”等项目。“Windows更新清理”常常能清掉好几个G,如果你确定不需要回滚到旧版本系统,可以勾选“以前的Windows安装”。勾选完成后点击“确定”,等待执行即可。

除了图形界面,磁盘清理也支持命令行方式:

cleanmgr /d C:

如果希望按固定配置自动清理,可以先打开设置面板:

cleanmgr /sageset:1

在弹出的界面里勾选希望清理的项目,保存配置。之后运行:

cleanmgr /sagerun:1

系统就会按刚才保存的设置自动执行清理。这种方式很适合做成计划任务定期运行。

2.2 开启存储感知,让系统自动清理

Windows 10 和 Windows 11 都提供了“存储感知”功能,可以自动清理临时文件和回收站。开启它之后,系统会在空间不足或定期时间点自动清理一些安全项,减少手动操作。

打开路径:

  • Windows 11:设置 -> 系统 -> 存储 -> 存储感知
  • Windows 10:设置 -> 系统 -> 存储 -> 存储感知

开启“自动清理临时文件”后,可以设置运行频率,比如“每周”或“空间不足时”。还可以点击“配置清理计划”,让系统定期删除“回收站中超过一定天数的文件”和“下载文件夹中超过一定天数未使用的文件”。

存储感知适合作为日常维护手段,它能避免系统盘中积累大量临时文件,但不能替代手动清理。像休眠文件、虚拟内存、开发工具缓存这类大型文件,还是需要单独处理。

2.3 手动清理 Windows 更新缓存

Windows 更新下载的安装包都会存放在C:\Windows\SoftwareDistribution\Download,这个目录在系统多次更新后会累积大量文件。正常情况下,Windows 更新完成后会自动清理一部分,但并不彻底,尤其是在更新失败或反复下载的情况下,缓存可能会占用几个G甚至十几个G。

手动清理这个目录是安全的,因为安装包只是下载缓存,不是系统运行必需文件。如果系统正在下载或安装更新,建议等更新完成后再清理,或者先暂停更新。

推荐使用管理员身份打开命令提示符,依次执行下面的命令:

net stop wuauserv net stop cryptSvc net stop bits net stop msiserver rd /s /q C:\Windows\SoftwareDistribution\Download net start wuauserv net start cryptSvc net start bits net start msiserver

解释一下每步的含义:先停止 Windows Update 相关服务,避免文件被占用;然后强制删除下载缓存目录;最后重新启动这些服务。执行完毕后,打开C盘看剩余空间,通常会有明显变化。

3. 三个“隐形大户”,关掉它们能腾出好几个G

3.1 休眠文件 hiberfil.sys

很多人在C盘根目录看到一个名为hiberfil.sys的文件,却不知道它是什么。这个文件是 Windows 休眠功能使用的系统文件,当你让电脑进入“休眠”状态时,系统会把内存内容写入这个文件,下次开机时直接恢复,从而实现快速启动。

问题在于,hiberfil.sys默认大小约为物理内存的 40% 到 75%,内存越大,文件越大。如果你的电脑是 16GB 内存,这个文件可能占 6GB 到 10GB;32GB 内存可能占十几个G。

如果你平时根本不用“休眠”功能,而是习惯“关机”或“睡眠”,可以关闭休眠来释放空间。先查看当前系统休眠状态:

powercfg /a

然后以管理员身份执行:

powercfg /h off

执行后,hiberfil.sys会自动消失,C盘立刻腾出对应空间。需要特别注意的是,关闭休眠也会同时关闭 Windows 的“快速启动”功能,因为快速启动依赖休眠文件的一部分机制。如果你非常在意开机速度,不建议为了省空间而关闭休眠。

如果之后想恢复休眠,重新执行:

powercfg /h on

即可恢复。

3.2 虚拟内存 pagefile.sys

pagefile.sys是 Windows 的虚拟内存页面文件,默认位于C盘根目录。当物理内存不足时,系统会把一部分数据临时写入这个文件,因此它在高内存占用场景下非常重要。

我不建议直接删除或彻底禁用虚拟内存,因为某些大型软件在内存不足时会直接崩溃。更合理的做法,是把虚拟内存从C盘转移到其他盘,比如D盘。这样做既保留了虚拟内存的功能,又释放了C盘空间。

具体步骤如下:

  1. 右键“此电脑” -> 属性 -> 高级系统设置。
  2. 在“高级”选项卡 -> 性能 -> 点击“设置”。
  3. 切换到“高级”选项卡 -> 虚拟内存 -> 点击“更改”。
  4. 取消勾选“自动管理所有驱动器的分页文件大小”。
  5. 选中C盘,选择“无分页文件”,点击“设置”。
  6. 选中D盘,选择“系统管理的大小”或“自定义大小”,点击“设置”。
  7. 点击“确定”,重启电脑后生效。

转移虚拟内存后,C盘会释放相当于物理内存 1 到 2 倍的空间。需要提醒的是,如果系统发生蓝屏,内存转储文件默认写入C盘,把分页文件移走后可能无法写入完整的内核转储,但对普通用户影响很小。

3.3 系统还原与卷影副本

系统还原点和卷影副本也可能占用不少C盘空间。如果你曾设置过系统保护,系统会在关键驱动安装、软件升级时自动创建还原点。时间久了,旧还原点会积累大量卷影副本,占用几个G空间。

先查看当前系统保护占用情况,管理员身份运行:

vssadmin list shadowstorage

输出中可以看到“已使用空间”和“已分配空间”。如果想清理最旧的还原点,可以执行:

vssadmin delete shadows /for=C: /oldest

这个命令只删除最旧的一个卷影副本,不会一次性删光所有还原点,相对安全。如果想彻底限制系统还原点的占用空间,可以进入“系统保护”设置:

  • 右键“此电脑” -> 属性 -> 系统保护
  • 选择C盘 -> 配置
  • 在“最大使用量”处拖动滑块,调小占用比例

需要注意的是,删除还原点意味着失去对应时间点的恢复能力。如果你最近系统状态正常,可以考虑清理较旧的还原点;但建议至少保留一个可用的还原点,以防后续清理操作出问题。

4. 一条命令定位大文件,找出真正占空间的目录

4.1 PowerShell 扫描C盘目录占用

前面介绍的清理方法能清掉一部分空间,但真正让C盘爆满的,往往是某些具体的大目录。与其瞎猜,不如让 PowerShell 帮我们扫描一遍C盘每个一级目录的大小,按占用从大到小排列。

打开管理员 PowerShell,执行下面的脚本:

Get-ChildItem C:\ -Directory -Force -ErrorAction SilentlyContinue | ForEach-Object { $size = (Get-ChildItem $_.FullName -Recurse -File -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum [PSCustomObject]@{ Path = $_.FullName SizeGB = [math]::Round($size / 1GB, 2) } } | Sort-Object SizeGB -Descending | Format-Table -AutoSize

这个脚本会遍历C盘下的所有一级目录,包括隐藏目录,递归统计每个目录下的文件总大小,最后按大小降序排列。第一次扫描可能需要几分钟,因为要读取大量文件信息;如果遇到权限不足的目录,脚本会跳过,不影响整体结果。

执行后,你会清晰看到UsersWindowsProgram Files等目录各占多少空间。如果Users目录特别大,说明用户数据是重灾区;如果Windows目录特别大,更新缓存或组件存储可能就是主因。

4.2 扫描用户目录下的大文件

很多时候,C盘空间被用户目录里的隐藏缓存和下载文件占用。可以用下面的 PowerShell 脚本扫描用户常见目录下超过 1GB 的大文件:

$paths = @( "$env:USERPROFILE\Downloads", "$env:USERPROFILE\Desktop", "$env:USERPROFILE\Documents", "$env:LOCALAPPDATA", "$env:APPDATA" ) Get-ChildItem $paths -Recurse -File -Force -ErrorAction SilentlyContinue | Where-Object { $_.Length -gt 1GB } | Sort-Object Length -Descending | Select-Object FullName, @{Name='SizeGB'; Expression={[math]::Round($_.Length/1GB, 2)}} | Format-Table -AutoSize

脚本会把所有超过 1GB 的文件路径列出来。看到结果后,你可以逐一判断哪些是长期不用的安装包、压缩包或缓存文件,然后移动或删除。这里要提醒,不要直接删除不认识的.dll.sys文件,优先清理安装包、日志、临时文件、缓存目录。

在文件资源管理器里也可以使用搜索技巧。打开C盘,在右上角搜索框输入:

size:>1GB

Windows 会搜索出所有大于 1GB 的文件。这个技巧简单直接,适合快速定位散落在各处的超大文件。

4.3 几个最容易忽略的大文件藏身处

结合日常排障经验,下面这几个位置经常让人惊讶“原来空间被它吃了”:

  • C:\Windows.old:系统大版本升级后的旧系统目录,可能占 10GB 到 20GB。如果确定不需要回滚旧系统,可以用磁盘清理工具的“以前的Windows安装”删除。
  • C:\Users\用户名\AppData\Local\Temp:用户临时文件目录,积累大量临时安装包和缓存。
  • C:\Users\用户名\AppData\Local\Google\Chrome\User Data\Default\Cache:浏览器缓存,长时间不清理可以达到几GB。
  • C:\Users\用户名\Documents\WeChat Files:微信文件默认保存位置,聊天记录、图片、视频会快速增长,很多人这个目录占了几十个G。
  • C:\Users\用户名\.cache:很多开发工具和AI工具的默认缓存目录,例如 ComfyUI、Codex 等工具如果配置不当,模型和工作流缓存会默认写入C盘。

如果你在使用 ComfyUI、Codex 这类工具,一定要检查它们的模型目录和输出目录是否在C盘。这类工具的大模型文件动辄几个G到几十个G,建议把模型存储和输出目录迁移到D盘,具体方法会在后面“治本方案”中介绍。

5. 一键清理脚本:bat + PowerShell 组合

5.1 脚本设计思路与安全边界

如果你平时不想记住那么多命令,可以做一个“一键清理脚本”。脚本的思路是:只清理明确安全的临时文件和缓存,不碰系统核心文件,不删除用户文档,不修改注册表。

安全边界非常重要。脚本不会处理休眠文件、虚拟内存、系统还原点,因为这些涉及系统功能取舍,需要人工确认。脚本只负责清理以下内容:

  • 用户临时目录
  • 系统临时目录
  • 回收站
  • Windows 更新缓存
  • 预读取文件(可选)
  • 缩略图缓存

同时,脚本需要以管理员身份运行,否则部分系统目录无法访问。如果你担心误删,可以先创建还原点再执行。

5.2 完整清理脚本与使用说明

将下面的内容保存为clean_c.bat,右键选择“以管理员身份运行”:

@echo off chcp 65001 >nul title C盘清理脚本 - 请以管理员身份运行 echo ======================================== echo C盘安全清理脚本(临时文件 / 更新缓存) echo ======================================== echo. REM 检查管理员权限 net session >nul 2>&1 if %errorlevel% neq 0 ( echo [错误] 请右键选择“以管理员身份运行”! pause exit /b 1 ) echo [1/6] 清理用户临时文件夹 ... if exist "%TEMP%" rd /s /q "%TEMP%" 2>nul echo [2/6] 清理系统临时文件夹 ... if exist "%SystemRoot%\Temp" rd /s /q "%SystemRoot%\Temp" 2>nul echo [3/6] 清空回收站 ... powershell -NoProfile -Command "Clear-RecycleBin -Force -ErrorAction SilentlyContinue" echo [4/6] 停止更新相关服务并清理更新缓存 ... net stop wuauserv >nul 2>&1 net stop cryptSvc >nul 2>&1 net stop bits >nul 2>&1 net stop msiserver >nul 2>&1 if exist "%SystemRoot%\SoftwareDistribution\Download" rd /s /q "%SystemRoot%\SoftwareDistribution\Download" 2>nul net start wuauserv >nul 2>&1 net start cryptSvc >nul 2>&1 net start bits >nul 2>&1 net start msiserver >nul 2>&1 echo [5/6] 清理 Windows 预读取文件 ... del /f /q "%SystemRoot%\Prefetch\*.*" 2>nul echo [6/6] 清理缩略图缓存 ... del /f /q "%LocalAppData%\Microsoft\Windows\Explorer\thumbcache_*.db" 2>nul echo. echo 清理完成,建议重启电脑后查看C盘剩余空间。 pause

关于编码,建议在 VS Code 或 Notepad++ 中保存为 UTF-8 无 BOM 格式。如果运行时出现中文乱码,可以把文件另存为 ANSI 编码再执行。

脚本第 5 步清理 Prefetch 属于可选操作。预读取文件的作用是加快程序启动速度,删除后第一次打开软件会稍微变慢,但之后会重新生成。如果你不想影响启动速度,可以把第 5 步整个删掉。

5.3 组件存储清理:DISM 命令

Windows 的组件存储C:\Windows\WinSxS是系统组件的重要目录,不能直接手动删除。但其中会保留大量旧版本组件,这些内容需要用 DISM 命令清理。

首先分析组件存储是否有可清理内容,管理员身份执行:

DISM /Online /Cleanup-Image /AnalyzeComponentStore

命令会输出类似“组件存储大小”和“可清理大小”的信息。如果可清理空间不大,说明系统已经自己维护过了;如果可清理空间较大,再执行清理命令:

DISM /Online /Cleanup-Image /StartComponentCleanup

这个命令会安全删除旧版本组件,可能需要运行几分钟到十几分钟,建议在空闲时间执行。执行过程中不要强制关闭命令行窗口,否则可能造成系统组件损坏。

如果你的系统盘很紧张,还可以加上参数进一步整理:

DISM /Online /Cleanup-Image /StartComponentCleanup /ResetBase

/ResetBase会将所有已安装更新的基础重置为当前状态,清理效果更彻底,但副作用是以后无法卸载已经安装的更新。除非你确定不需要卸载更新,否则不建议加这个参数。

6. 常见问题与避坑指南

6.1 常见问题排查表

清理C盘过程中,你可能会遇到下面这些问题:

问题现象常见原因解决思路
清理后重启,C盘又满了软件缓存或更新文件正在重新生成用 PowerShell 扫描定位大目录,再针对具体软件设置缓存路径
删除临时文件时报“文件正在使用”有程序占用了临时目录中的文件关闭相关程序,或者重启后再删除
执行 powercfg /h off 后休眠文件还在没有管理员权限用管理员身份运行命令提示符再执行
C盘显示红色,但看起来没有大文件隐藏文件或系统文件没有显示在资源管理器中开启“显示隐藏文件”,或用 PowerShell 扫描
清理更新缓存后,Windows 更新异常删除时更新服务正在运行重新启动 Windows Update,或等待系统自动重新下载更新
使用第三方清理软件后系统异常误删了系统核心文件通过系统还原点恢复,严重时考虑重置系统

6.2 这些操作千万别做

C盘清理最怕的不是清不掉,而是误删。下面几条是必须避开的“高危操作”:

  • 不要手动删除C:\Windows\WinSxS文件夹。很多人把它当成垃圾文件,实际上它是系统组件的存储目录,直接删除会导致系统完全无法启动。正确做法是用 DISM 命令清理。
  • 不要手动删除C:\Windows\System32下的任何文件。这里存放了系统核心运行库,删错一个文件可能直接蓝屏。
  • 不要随意清理AppData里不认识的目录。AppData 下存有大量软件配置和用户数据,很多目录名看起来像乱码,实际上包含软件登录状态、数据库文件。如果某个软件以后还能正常打开,就不要动它。
  • 不要在确定不需要回滚前,随意删除Windows.old。如果你刚升级完系统,建议保留至少一周,确认系统稳定后再清理。
  • 不要用rd /s /q C:\之类的命令“清理整盘”。这类命令是直接删除目录树,一旦执行,后果不可逆,后悔药没有。

清理C盘的原则是:能明确判断是垃圾的才删,拿不准的就先放着。

7. 治本方案:从“清理”到“预防”

7.1 善用目录联接,把大目录“搬”到其他盘

很多软件的缓存路径是写死的,不能通过图形界面修改。这种情况最适合使用 Windows 的“目录联接”功能,也就是mklink /J命令。它的原理是:把一个真实目录“映射”到另一个位置,对用户程序来说,原路径仍然存在,访问时实际读写的是目标路径。

举个例子。假设你在使用 ComfyUI 这类 AI 绘图工具,模型目录默认在C盘,占用几十个G,你想迁移到D盘,可以这样做:

  1. 先关闭相关程序,确保没有进程在读取模型目录。
  2. 在原位置把C:\Users\你的用户名\ComfyUI\models整个剪切到D:\AI\ComfyUI\models
  3. 打开管理员命令提示符,执行:
mklink /J "C:\Users\你的用户名\ComfyUI\models" "D:\AI\ComfyUI\models"

执行后,原来的路径仍然存在,但所有文件实际上存储在D盘。程序和系统都感知不到变化,C盘空间却被释放了。

这个方法同样适用于 npm 缓存、pip 缓存、Maven 本地仓库、浏览器缓存目录等。如果你想删除链接,不要直接在资源管理器里删除,最好用命令行:

rmdir "C:\Users\你的用户名\ComfyUI\models"

这个命令只会删除目录联接本身,不会删除 D 盘的真实文件。

7.2 修改软件默认缓存与文件保存位置

目录联接是兜底方案,更理想的做法是在软件设置里直接修改缓存路径。

  • 微信:设置 -> 文件管理 -> 更改,把文件保存路径改成 D 盘。这个设置对C盘空间影响最大,尤其是聊天记录多的人。
  • 浏览器:在设置里修改“下载内容”默认位置,改为 D 盘。浏览器缓存也可以在设置中清除。
  • 开发工具:npm 可以通过npm config set cache "D:\Cache\npm"修改缓存目录;Maven 可以通过修改settings.xml中的localRepository指向 D 盘;Python 的 pip 缓存可以通过设置PIP_CACHE_DIR环境变量指向D盘。
  • 新软件安装时:遇到默认安装目录为C:\Program Files时,尽量手动改为 D 盘。虽然安装时多一步操作,但长期下来能避免 C 盘被各种大型软件塞满。

如果你的电脑已经有很多大型软件装在C盘,可以尝试“设置 -> 应用 -> 安装的应用”,选择某个应用后点击“移动”,部分应用支持从C盘移动到其他分区。但要注意,并不是所有应用都支持移动,比如系统核心组件就无法移动。

7.3 C盘扩容的一般思路与风险提醒

如果清理之后C盘还是紧张,扩容是一个选择,但需要谨慎操作。

Windows 自带的“磁盘管理”工具支持“压缩卷”和“扩展卷”。要扩展C盘,前提是C盘右侧紧挨着未分配空间。也就是说,你需要在C盘旁边先腾出未分配空间,这通常意味着要先删除或压缩D盘分区。整个过程会把磁盘分区结构重新调整,存在数据丢失风险。

如果你的D盘有大量数据,又没有备用移动硬盘备份,我不建议贸然操作。更稳妥的做法是:

  • 备份C盘和D盘的重要数据到移动硬盘或网盘。
  • 使用可靠的第三方分区工具调整分区大小。
  • 调整分区前,先创建系统还原点,并确保电脑接入电源。
  • 操作过程中不要强制断电,防止分区表损坏。

比起扩容,我更推荐优先做好前面提到的清理和预防措施。因为很多人的C盘空间其实是被缓存在潜移默化吃掉的,只要把缓存路径改好,定时清理,C盘通常不会轻易爆满。

如果你按照上面的顺序操作一遍:先做系统工具清理,再关闭休眠或转移虚拟内存,然后用脚本扫一遍临时文件,最后用 PowerShell 定位残留的大文件,C盘一次性腾出十几个G并不夸张。你的C盘“大头”到底在哪个目录,也欢迎在评论区分享你的排查结果。

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

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

立即咨询