满C盘这个问题,在 Windows 10 和 Windows 11 上几乎每隔一段时间就会出现一次。普通用户的 C 盘里会积累浏览器缓存、下载文件、回收站内容和系统更新遗留文件,而开发者的 C 盘还会多出 Node.js 缓存、npm 日志、pip 缓存、Docker 镜像、WSL 虚拟磁盘等一大堆东西。这篇教程的核心目标是帮助你用系统自带功能和少量命令行完成清理,不推荐安装来路不明的“C盘清理软件”。标题里说 1 分钟,并不是指所有操作全部结束,而是指最快的那条清理路径可以在 1 分钟内启动,先释放出最容易回收的空间。
这篇内容会按“先判断空间去向,再做快速清理,再深入命令行,再处理开发者电脑的常见问题,最后给出排错链路和预防清单”的顺序展开。文章末尾还会专门解决一个很常见的开发机报错:在 PowerShell 中执行 npm 命令时提示“无法加载文件 npm.ps1,因为在此系统上禁止运行脚本”。这个报错本身不占空间,但它往往和开发机环境混乱同时出现,顺手处理掉会对后续维护有很大帮助。
1. 先搞清楚C盘空间都去哪了,再决定清理方向
不少人在 C 盘变红后,第一反应是手动删除桌面上的文件、清空回收站,或者随便找一款“垃圾清理软件”一键清除。这样做的结果通常是:空间释放不明显,或者一些被误删的恢复文件、系统更新文件再也找不回来。在动手清理之前,先理解 C 盘上哪些文件可以删除,哪些不能删除,比掌握一堆清理命令更重要。
1.1 “C盘垃圾”不等于全部垃圾:先区分哪些能删
“垃圾”这个词很模糊。系统临时文件、浏览器缓存、缩略图缓存、回收站里的文件,这些属于可以清除的内容;微信和 QQ 的聊天文件、软件开发产生的日志、旧版本系统更新备份,这些属于“占用很大但需要谨慎判断”的内容;hiberfil.sys、pagefile.sys、System Volume Information,这些属于“可以调整但不要直接删除”的内容。
一个比较容易理解的标准是:
- 系统或软件自动重新生成的缓存文件,删除后不影响数据安全。
- 用户自己产生的文件,例如文档、图片、虚拟机镜像、聊天记录,删除前必须确认是否还有价值。
- 系统底层文件,例如休眠文件、页面文件、卷影副本,不能靠“右键删除”解决,要通过系统设置或命令调整。
WinSxS文件夹里的 Windows 组件存储,不能直接手工删除,要用 DISM 命令清理旧版本组件。
1.2 清理前先量化:一秒钟看出C盘剩多少
在 Windows 10 和 Windows 11 中,你可以直接在“设置 -> 系统 -> 存储”看到 C 盘的占用概况。如果更习惯命令行,可以用 PowerShell 查看精确的剩余空间和已用空间。
打开开始菜单,搜索 PowerShell,选中后按“以管理员身份运行”,然后执行:
Get-PSDrive C | Select-Object Used, Free这个命令输出的Used和Free以字节为单位,数字比较大。为了方便阅读,可以换成下面的写法:
Get-Volume -DriveLetter C | Format-List DriveLetter, FileSystemLabel, @{n='SizeGB';e={[math]::Round($_.Size/1GB,2)}}, @{n='FreeGB';e={[math]::Round($_.SizeRemaining/1GB,2)}}执行结果大致如下:
DriveLetter : C FileSystemLabel : Windows SizeGB : 237.62 FreeGB : 15.31记录下清理前的剩余空间。后续每完成一步清理,再执行一次这个命令,就能确认到底释放了多少空间。这样比“凭感觉觉得干净了”要靠谱得多。
需要提醒的是,下面的清理操作主要针对 Windows 10 和 Windows 11 的普通个人电脑。如果是生产服务器或公司统一管控的电脑,不能直接套用个人电脑的清理脚本,必须先走变更审批和数据备份流程。
2. 用系统自带功能快速清理C盘,1分钟先救急
很多人寻找第三方清理软件的真正原因,是不知道 Windows 自带清理工具在哪里。其实 Windows 10 和 Windows 11 已经内置了两套非常实用的清理机制:一套是“存储感知”,另一套是老的“磁盘清理工具”。这两套工具都能处理 C 盘里最容易堆积的临时文件、更新缓存和回收站内容。
2.1 存储感知和临时文件清理:最低风险的一分钟操作
首先说的是 Windows 10 1703 之后加入的“存储感知”。打开方式有两种:
- 按
Win + I打开设置,进入“系统 -> 存储”。 - 按
Win + R,输入ms-settings:storagesense,按回车。
在这个页面里,通常会显示“临时文件”“系统与保留”“应用和游戏”“桌面”“文档”等几个分类。点击“临时文件”,Windows 会先扫描,然后列出可以清理的项目,常见项目包括:
- Windows 更新清理
- 回收站
- 下载文件夹中的文件
- 传递优化文件
- 缩略图
- 临时文件
- 以前的 Windows 安装文件
注:这一步扫描可能需要几秒钟到几十秒钟,扫描速度和机械硬盘速度、文件数量有关系。
勾选想清理的项目后,点击“删除文件”。如果只想快速清理并释放一部分空间,优先勾选以下几项:
| 可勾选项目 | 大概占用 | 清理后影响 |
|---|---|---|
| Windows 更新清理 | 几百 MB 到几个 GB | Windows Update 会重新下载缺失更新,但已安装的更新不会丢失 |
| 传递优化文件 | 几百 MB | Windows 更新缓存会被清掉,后续更新可能重新下载 |
| 回收站 | 视回收站内容而定 | 回收站中的文件会被永久删除 |
| 临时文件 | 几十 MB 到几 GB | 应用运行时产生的临时文件会被删除,一般不影响数据 |
| 缩略图 | 几十 MB 到几百 MB | 文件夹缩略图会被重新生成,不会造成文件丢失 |
如果只是想先救急,这一分钟内不需要做更多操作。清理完成后,再次查看 C 盘剩余空间,通常能释放出几个 GB。尤其是那些长期没做过 Windows 更新清理的机器,光是“Windows 更新清理”一项就可能释放出好几个 GB。
2.2 磁盘清理工具:老旧Windows更新文件的主要去处
“存储感知”覆盖了大部分常见清理项,但有一部分老旧 Windows 更新备份文件在存储感知里不一定显示完整。这时可以启动传统的磁盘清理工具:
按Win + R,输入cleanmgr,按回车,选择 C 盘,点击“确定”。清理工具会先扫描,然后弹出勾选列表。此时不要急着点确定,先点击“清理系统文件”。
点击“清理系统文件”之后,Windows 会重新扫描一次,并列出更多可清理内容。这里比较重要的选项是“Windows 更新清理”,它对应的是C:\Windows\SoftwareDistribution\Download里的旧更新下载文件,以及 Windows 组件存储WinSxS中的旧版本组件备份。勾选这一项后,再点“确定”,会弹出确认对话框,点击“删除文件”即可。
这一项的特点是比较慢。如果系统里积压的更新文件很多,过程可能持续几分钟甚至更久。不要因为这个耗时就把窗口直接关闭,否则清理过程会被中断,但又不会损坏系统,只是下次还会继续积累。
2.3 一分钟内快速看一下清理效果
清理结束后,回到 PowerShell,重新执行下面的命令:
Get-Volume -DriveLetter C | Format-List DriveLetter, FileSystemLabel, @{n='SizeGB';e={[math]::Round($_.Size/1GB,2)}}, @{n='FreeGB';e={[math]::Round($_.SizeRemaining/1GB,2)}}把第 1.2 节记录的数字和现在的数字做对比。如果已经释放出几个 GB,快速清理这一步就算完成了。如果剩余空间依然不够,或者 C 盘依然是红色,再看后面的命令行和深层清理内容。
3. 命令行和脚本深入清理:适合自己动手的方式
图形界面适合快速操作,但有一个缺点:每次都要手动点击选项,无法重复使用。如果你想把这套清理流程固化下来,或者需要对多台电脑执行相同操作,建议掌握cleanmgr的命令行参数,以及 PowerShell 临时文件清理脚本。
3.1 用命令直接运行磁盘清理:认识 sageset 和 sagerun
cleanmgr有两个关键参数:/sageset和/sagerun。
sageset用于配置预设编号下的清理选项,它会弹出图形界面,但最终会把你的勾选结果保存到注册表指定位置。sagerun用于直接运行某个编号对应的清理配置。常见用法是:
cleanmgr /sageset:100执行后会弹出磁盘清理窗口,这时把想清理的项目勾选上,然后点击确定。Windows 会把编号为 100 的这一套清理配置保存下来。以后想直接执行同一套清理,就不用再进图形界面了:
cleanmgr /sagerun:100这里有个关键点:100只是示例编号,你可以换成任何十进制数字,比如 666。只要/sageset和/sagerun使用同一个编号即可。这样做的价值在于自动化。你可以把cleanmgr /sagerun:100写进批处理脚本,再配合计划任务定期执行。
如果你在自动化脚本里使用cleanmgr /sagerun:100,要注意它可能仍然会弹出一个短暂的窗口。在计划任务中执行时,建议给任务选择“无论用户是否登录都要运行”,并配置“使用最高权限运行”。
3.2 清理临时文件:写一个 PowerShell 自清理脚本
系统临时文件主要存在于两个位置:
- 当前用户临时目录:
%TEMP% - 系统临时目录:
C:\Windows\Temp
可以直接按Win + R,输入%temp%打开临时文件夹手动删除,但很多文件正在被进程占用,会弹出“操作无法完成”的提示。更推荐用 PowerShell 脚本忽略占用文件,能删多少删多少:
# 清理当前用户临时目录和系统临时目录 $tempFolders = @($env:TEMP, "$env:SystemRoot\Temp") foreach ($folder in $tempFolders) { if (Test-Path $folder) { Get-ChildItem -Path $folder -Force -ErrorAction SilentlyContinue | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue } }这段脚本的关键点是-ErrorAction SilentlyContinue。它的作用是让 PowerShell 在遇到正在被占用或没有权限访问的文件时自动跳过,而不会中断整个清理过程。
脚本执行完后,还可以顺手清空回收站:
Clear-RecycleBin -DriveLetter C -Force -ErrorAction SilentlyContinue由于清空回收站是不可恢复操作,建议先确认回收站里没有重要文件,再执行这条命令。
3.3 休眠文件和页面文件:能省几个 GB,但要分清对象
在 C 盘根目录下,有两个看起来非常占空间的文件:hiberfil.sys和pagefile.sys。
hiberfil.sys是休眠文件。Windows 启用休眠功能后,会把内存内容写入这个文件,以便下次快速恢复。它的体积通常和物理内存差不多。如果你睡眠根本不用,也不想显示“休眠”按钮,可以在管理员命令行中执行:
powercfg /h off执行后,hiberfil.sys会被删除,C 盘相应释放出几个 GB。之后如果又想用休眠功能,再执行:
powercfg /h on如果你确实需要休眠,但希望休眠文件体积小一点,可以启用“快速启动”但关闭完整休眠:
powercfg /h /type reducedhiberfil.sys /type reduced会让休眠文件变小,但也会失去完整休眠恢复能力。
pagefile.sys是虚拟内存页面文件,不建议普通人直接关闭。页面文件是 Windows 内存换页机制的一部分,直接删除或关闭会导致系统在内存压力较大时出现不稳定。如果 C 盘空间确实紧张,可以选择把页面文件迁移到 D 盘或其他分区:
- 按
Win + R,输入sysdm.cpl,回车。 - 切到“高级”选项卡,点击“性能”区域里的“设置”。
- 在“高级”选项卡中找到“虚拟内存”,点击“更改”。
- 取消勾选“自动管理所有驱动器的分页文件大小”。
- 选中 C 盘,设置为“无分页文件”,点击“设置”。
- 选中 D 盘,设置为“系统管理的大小”或自定义大小,点击“设置”。
- 确认后重启电脑。
这里要提醒一句:迁移页面文件比删除休眠文件风险高得多,执行前一定要重启并确认新配置生效,不要只把 C 盘页面文件关闭就不管了。否则系统运行一段时间后可能因为虚拟内存不足出现程序崩溃。
3.4 控制还原点体积,别让系统保护悄悄占满C盘
系统还原点存放在System Volume Information文件夹中,如果开启了系统保护,Windows 会在安装驱动、系统更新或软件前自动创建还原点。还原点历史积累过多时,占用空间可以轻松达到几十 GB。
在管理员命令行中执行下面的命令,可以查看卷影存储使用情况:
vssadmin list shadowstorage输出中的Used Shadow Copy Storage space表示当前占用的空间,Allocated Shadow Copy Storage space表示分配给卷影存储的空间。如果你不需要保留那么多还原点,可以进入系统保护设置调整:
- 按
Win + R,输入sysdm.cpl,回车。 - 切到“系统保护”选项卡。
- 选中 C 盘,点击“配置”。
- 调整“最大使用量”的百分比或具体大小。
- 点击“确定”。
也可以使用vssadmin命令直接调整卷影存储上限,例如:
vssadmin Resize ShadowStorage /For=C: /On=C: /MaxSize=5GB上面的命令表示把 C 盘卷影存储上限调整为 5 GB。注意这个值要根据自己电脑的实际需求设置,不要调到 1 GB 之后想找回几个月前的还原点却发现已经全部被覆盖。
4. 开发机上最容易被忽略的C盘占用项
普通办公电脑的问题在缓存和历史文件,开发电脑的问题则全在“开发环境产生的数据”上。Node.js 的 npm 缓存、pnpm 的 store、Docker 镜像、WSL 虚拟磁盘,任何一个都可能比系统垃圾占用更多空间。如果不专门处理这些位置,即使你前面做了 Windows 更新清理,C 盘过几天还是会重新变满。
4.1 node_modules、前端构建缓存和本地包管理器
前端项目最熟悉的node_modules目录本身就非常大。一个中型项目的node_modules可能有几百 MB,大型 monorepo 项目则可能达到几个 GB。但这里要先弄清楚一点:node_modules不是“缓存”,它是依赖安装后的实际目录,删除后需要重新执行npm install才能恢复。不要为了释放空间把正在使用的项目里的node_modules直接删除。
真正适合清理的是包管理器自己的缓存目录:
# npm 缓存清理 npm cache verify npm cache clean --force# pnpm 清理全局 store 中未被引用的包 pnpm store prune# yarn 清理缓存 yarn cache clean如果电脑上使用 pip、Maven、Gradle 比较多,也可以用各自自带的清理命令:
pip cache purgemvn dependency:purge-local-repository这一串命令执行完,通常能释放出几个 GB。特别是用于 CI 或频繁创建新项目的电脑,包缓存增长速度非常快。
想要从根源上防止 C 盘被包缓存占满,可以把包管理器的缓存目录迁移到其他分区。以 npm 为例:
npm config set cache "D:\npm-cache"pnpm 也可以设置全局 store 目录:
pnpm config set store-dir "D:\pnpm-store"注意:迁移缓存目录之后,原目录里的历史缓存需要手动删除,否则已经占用的空间不会自动释放。
4.2 解决 PowerShell 脚本被禁:npm 报错与执行策略
开发者在 Windows 上经常会碰到这样一个问题:打开 PowerShell,执行npm -v,结果报出类似下面的错误:
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。这个报错不在“C盘清理”的范围内,但它经常出现在新配置开发环境的机器上。根本原因是 PowerShell 的执行策略默认限制了脚本运行。Windows 为了保证系统安全,默认执行策略通常是Restricted,这种策略下,PowerShell 不允许运行.ps1脚本。npm 安装到 Windows 后提供了一个npm.ps1包装脚本,所以就会被拦截。
可以用下面的命令查看当前执行策略:
Get-ExecutionPolicy -List如果希望本地创建的脚本可以运行,同时仍然阻止未经签名的远程脚本,推荐设置为RemoteSigned:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser这条命令只对当前用户生效,不需要管理员权限,也比全局修改策略更安全。设置完成后,再执行npm -v通常就能正常运行了。如果公司电脑有统一安全策略,Set-ExecutionPolicy可能会被组策略限制,那就需要联系管理员确认是否允许在开发和测试环境中开放RemoteSigned或Bypass。
4.3 Docker、WSL 和虚拟机的镜像存储位置
Docker 和 WSL 是开发机上最容易出现“清理完之后 C 盘依然爆炸”的两个因素。
Docker 的默认数据目录通常在C:\ProgramData\Docker,如果 Docker Desktop 使用 WSL 2 后端,数据可能存放在 WSL 的 vhdx 虚拟磁盘中。先看看到底占了多少空间:
docker system dfdocker system df会显示镜像、容器、本地卷、构建缓存各自的占用情况。如果发现构建缓存非常大,可以用:
docker builder prune -f如果发现有很多悬空镜像,可以执行:
docker image pruneWSL 虚拟磁盘通常可以在 PowerShell 中查看:
wsl --list --verbose然后查看发行版的安装位置:
wsl --list --online需要注意:不要直接在资源管理器里删 WSL 的 vhdx 文件,那会导致整套 WSL 系统无法启动。正确的做法是把发行版导出后迁移,或者先用工具压缩 vhdx。迁移步骤相对复杂,这里不展开完整命令,但建议先确认自己是否真的不再使用某个发行版。如果确认不用,再考虑用wsl --unregister删除,删除前确认该发行版里的数据都已备份。
5. 清理完还是满?按这条链路排查C盘空间问题
清理完之后发现 C 盘还是红的,这种问题很常见。很多人会反复清理同一个位置,结果发现每次都只能删除几十 MB。正确的做法不是继续“盲清”,而是按一条固定链路排查:先看隐藏大文件,再看 Windows 组件存储,再解决文件占用问题,最后才考虑分区调整。
5.1 第1步:先看“看不见”的文件
C 盘根目录下的hiberfil.sys、pagefile.sys、System Volume Information都是默认隐藏的。在资源管理器里如果没开启“显示隐藏文件”,你看不到这些大文件,自然也就觉得“什么都没了,为什么 C 盘还是满”。
可以在 PowerShell 里扫描 C 盘根目录下的顶层文件夹,估算每个目录占用:
Get-ChildItem C:\ -Force -Directory | ForEach-Object { $size = (Get-ChildItem $_.FullName -Recurse -Force -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum if ($size) { [PSCustomObject]@{ Folder = $_.FullName SizeGB = [math]::Round($size / 1GB, 2) } } } | Sort-Object SizeGB -Descending | Select-Object -First 10这段命令会扫描 C 盘顶层目录的大小,并列出占用最大的前 10 个目录。机械硬盘执行这条命令可能比较慢,建议只在问题明显时使用。扫描结束后,重点看Windows、Users、ProgramData、Program Files这几个目录的占比。
5.2 第2步:检查 Windows 更新组件存储
C:\Windows\WinSxS是最容易让人误会的地方。它的显示大小往往很大,但直接删除其中任何文件都可能破坏系统组件。Windows 官方支持的清理方式是使用 DISM:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup如果希望更彻底地清理,可以使用:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase加了/ResetBase之后,Windows 会把已安装更新的旧版本组件全部标记为可删除,这样能释放更多空间,但副作用是之后不能再卸载这些更新。如果不确定是否需要回滚系统更新,不要轻易加/ResetBase。
另一个和 Windows 更新相关的目录是C:\Windows\SoftwareDistribution\Download。这个目录里保存的是更新下载缓存。可以在管理员命令行中先停止 Windows Update 相关服务,清理后再次启动:
net stop wuauserv net stop bits del /f /q "%SystemRoot%\SoftwareDistribution\Download\*.*" net start bits net start wuauserv如果服务正在被占用,停止服务时可能出现提示。这时先关闭“设置 -> Windows 更新”界面,再重试一次。
5.3 第3步:解决文件被占用、提示无权限的问题
清理临时目录时经常会遇到“文件被使用”或“需要管理员权限”的弹窗。这不是清理方法错了,而是部分文件正被当前系统或应用锁定。
处理方法按优先级如下:
- 关闭正在运行的浏览器、IDE、聊天软件,再重新清理。
- 在安全模式下启动系统,再清理临时目录。
- 使用任务管理器或资源监视器找出正在占用文件的进程,结束对应进程后清理。
- 清理脚本中加入
-ErrorAction SilentlyContinue,跳过锁定文件,不中断整体清理。
如果你发现有些文件无论如何都删不掉,也不要强行使用各种强制删除工具。文件被占用通常说明当前有进程正在使用,强制删除可能造成软件运行异常。
5.4 第4步:分区扩容前一定先备份
当 C 盘里所有可删内容都清理过,空间依然不够时,很多人会想用 DiskGenius 这类分区工具进行 C 盘扩容。这种思路可行,但它属于磁盘结构变更,风险比清理缓存高很多。执行前必须清楚一个事实:调整分区大小、移动分区位置的过程一旦中断,可能导致系统无法启动或数据丢失。
安全建议是:
| 场景 | 建议 |
|---|---|
| C 盘相邻分区没有重要数据 | 可以先把相邻分区的内容备份,再删除相邻分区并扩容 C 盘 |
| C 盘相邻分区有重要数据 | 不建议直接操作,优先考虑把个人数据迁移到其他磁盘 |
| 笔记本电脑没有额外磁盘 | 优先用移动硬盘备份,再调整分区 |
| 公司统一管理的电脑 | 联系 IT 运维人员,不建议自行进行分区变更 |
| 扩容前 | 至少备份系统和个人数据一次,并确认备份可读取 |
没有一个分区工具可以保证 100% 无风险。即便工具本身成熟,电源断电、磁盘坏道、操作系统正在使用系统分区文件等因素,都可能制造意外。所以在这篇文章里不会给出具体的一键扩容命令,因为扩容不是“敲一行命令”就能安全完成的事,必须结合磁盘现状和备份条件来判断。
6. 让C盘不再变红的长期做法
清理只是治标。如果每次都要等 C 盘红了才动手,每次都要重复扫描、勾选、删除的流程,时间成本其实很高。真正的解决思路是在系统初始化阶段就做好规划,然后通过习惯和维护节奏,让 C 盘长期保持足够剩余空间。
6.1 安装或重装系统时做好分区容量规划
很多人装 Windows 时会把整个磁盘直接分给 C 盘,128 GB 的 SSD 也敢全部分给系统。表面上看起来空间很大,但只要装几个开发工具和游戏,C 盘很快就会紧张。原因是很多软件默认安装在C:\Program Files,很多缓存默认写在C:\Users,系统更新也会占用 C 盘。
推荐做法是单独划分 C 盘,并给系统盘留出足够余量:
| 电脑用途 | 推荐 C 盘容量 |
|---|---|
| 办公、浏览、文档处理 | 100 GB 到 150 GB |
| 开发、设计、虚拟机 | 200 GB 到 300 GB |
| 多系统、大量大型软件 | 根据 SSD 总容量灵活调整 |
如果 SSD 总容量只有 128 GB,可以考虑直接使用单个分区,把个人数据通过“文件夹重定向”方式放到移动硬盘或第二块磁盘上。这里没有“最完美分区”,只有适合自己使用习惯的分配方案。原则是:C 盘不要装大型媒体资料,不要把游戏库和 Docker 镜像默认放在 C 盘。
6.2 把个人文件夹和开发缓存统一搬离C盘
Windows 10 和 Windows 11 的“设置 -> 系统 -> 存储 -> 高级存储设置 -> 保存新内容的位置”可以调整新应用、新文档、新音乐、新图片、新视频的默认保存位置。这一步对刚重装系统的电脑非常有效,可以尽早防止个人文件塞满 C 盘。
对于开发人员,还建议把以下内容统一放到 D 盘:
- 浏览器下载目录
- 微信和 QQ 聊天文件目录
- npm、pnpm、yarn 缓存目录
- pip 缓存目录
- Maven 本地仓库
- Docker Desktop 的数据目录
- WSL 发行版所在目录
- Android Studio / IDEA 的缓存目录
这些目录具体怎么迁移,每个工具都有对应的设置项。迁移后有一个细节容易被忽略:旧目录里的历史文件不会自动移动。你需要在修改默认路径之后,把旧目录内容剪切到新目录,或者删除旧目录中已经确认没有用的缓存。
6.3 维护节奏和检查清单
当你完成了一次比较彻底的 C 盘清理,并且把开发缓存迁移到其他分区后,日常维护就不需要天天做了。建议在电脑上建立一个简单的月检流程。
一个月做一次的系统级清理清单:
1. 在设置中打开存储感知,查看临时文件。 2. 勾选“ Windows 更新清理”和“临时文件”并执行清理。 3. 打开磁盘清理工具,点击“清理系统文件”,选择性清理旧更新。 4. 在 PowerShell 中执行 Get-Volume 检查剩余空间。 5. 清空回收站,确认回收站中没有需要恢复的文件。开发机还需要额外执行的清单:
1. npm cache verify / pnpm store prune / yarn cache clean。 2. pip cache purge / mvn dependency:purge-local-repository。 3. docker system df 检查 Docker 数据。 4. docker builder prune -f 清理构建缓存。 5. 检查 WSL 虚拟磁盘所在目录是否已经迁移到 D 盘。 6. 确认微信、QQ 文件目录没有重新落到 C 盘。把这份清单保存成一个文本文件,或者写成一个 PowerShell 脚本,逐步执行。如果某个步骤报错,不要用“忽略”带过,先判断错误原因,再决定是否跳过。尤其是包管理器和 Docker 相关的清理,不建议在生产环境里每天都跑完整清理脚本,因为清理缓存后,第一次构建可能需要重新下载大量依赖,反而拖慢开发速度。
最终要记住的判断标准是:C 盘清理不是越频繁越好,而是在系统稳定、数据安全、释放空间这三者之间找到一个平衡。每次清理之前,先备份重要数据,再执行操作;每次清理之后,记录一下释放了多少空间;如果发现某个目录一周内又涨回来几 GB,那就是有程序在持续写文件,应该去检查该程序的日志和缓存配置,而不是继续无限期地手动清理。