ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

C盘爆红不用慌:Windows自带工具+BAT脚本彻底清理系统垃圾

C盘爆红不用慌:Windows自带工具+BAT脚本彻底清理系统垃圾 C盘爆红是 Windows 用户绕不开的老问题。这次我们不装电脑管家不买付费清理软件直接把系统自带功能和一键清理脚本结合起来给 C 盘做一个真正干净的整理。整套操作对电脑小白也友好先定位空间去了哪再用脚本清理临时文件和缓存最后把容易再次占满的目录管起来。适用于 Windows 10 / Windows 11 的普通办公机、家用机和开发机。很多人装了各种“C盘清理大师”结果可用空间没多多少后台进程反而多了一堆。C盘清理的核心其实只有三件事找到真正占用空间的大文件删除可以被系统重新生成的缓存和临时文件然后阻止日志、更新残留和软件缓存继续膨胀。下面这套流程不用重装系统不碰个人文档清完以后 C 盘能空出多少取决于你平时积累了多少垃圾。这篇文章会带你把完整流程走一遍先做空间诊断再运行安全的一键清理 BAT 脚本接着用 Windows 自带的磁盘清理、存储感知和 DISM 做深度清理最后给出搜索引擎里最常问的“C盘满了怎么清理”“c盘清理命令怎么用”的参考答案。建议先收藏C 盘下次变红的时候直接照着操作。1. 核心方案速览项目说明清理目标C 盘临时文件、系统缓存、更新残留、回收站、缩略图、错误报告适用系统Windows 10 / Windows 11适用用户普通电脑用户、办公用户、开发用户操作权限需要管理员权限运行脚本和部分系统命令一键清理方式保存一份 BAT 脚本右键管理员运行深度清理方式cleanmgr 磁盘清理、存储感知、DISM 组件清理主要风险误删重要文件、清空回收站后不可通过回收站恢复前置要求清理前关闭微信、浏览器等正在使用的程序重要文件做好备份期望结果释放几个 GB 到几十个 GB视垃圾积累而定方案的原则是“清理可再生的缓存不碰个人文件”。临时文件、缩略图、Windows 更新下载缓存都可以被系统重新生成所以删除几乎没有副作用。而桌面、文档、下载目录里的个人资料脚本不会主动删除。这里要说明一点C 盘清理没有“一次清完永不占用”的神器。只要系统还在运行浏览器还在使用新的缓存就会继续产生。所以正确的做法是定期清理 控制新增文件的位置而不是等 C 盘红了再想办法。2. 为什么 C 盘总是不够用2.1 系统级占位大户C 盘空间被占满很多时候不是软件安装太多而是系统自己把空间“藏”起来了。第一个常见是 Windows 更新残留。系统更新时会把旧版本组件和新版本下载文件留在 C 盘积累几次更新以后占用轻松超过 10 GB。更极端的情况是更新后系统目录下残留Windows.old这个文件夹能占 20 GB 左右。第二个是休眠文件hiberfil.sys。只要系统开启了休眠功能C 盘根目录下就会有一个接近物理内存大小的休眠文件。如果电脑内存是 16 GB休眠文件可能占用 12 GB 以上。这个文件用来保存休眠时的内存快照不需要休眠功能时可以安全关闭。第三个是页面文件pagefile.sys物理内存不够时 Windows 会把数据换入这个文件。页面文件不建议直接删但可以通过系统设置调整大小或者把部分空间放到其他盘。很多用户看到根目录下有个几 GB 的未知文件就手动删结果 Windows 启动后又会自动重建还可能带来权限问题。此外还有系统还原点、Windows 错误报告、系统日志、DirectX Shader 缓存等。这些文件分散在 C 盘不同目录每一个看起来不大加起来却很可观。2.2 应用缓存和用户目录占位用户日常使用产生的缓存往往比系统文件更容易膨胀。浏览器缓存、微信和 QQ 的文件缓存、网盘客户端同步缓存、视频通话软件的本地录制文件都会默认写入 C 盘。特别是微信如果不手动修改文件管理路径聊天记录、图片、视频都会存放在文档\WeChat Files目录下几年下来几十 GB 很常见。开发机的情况更特殊。npm、pip、NuGet、Docker、Gradle 都会在 C 盘用户目录下建立缓存。我见过很多开发者的 C 盘被C:\Users\用户名\AppData\Local\Temp和C:\Users\用户名\AppData\Local\pip\Cache占掉几十 GB。IDE 也会生成大量索引和本地历史记录这些文件删掉以后软件会重新生成不影响项目代码。普通用户的 C 盘满了一般靠磁盘清理和脚本就能解决大部分问题。开发者的 C 盘满了还要额外检查包管理缓存和虚拟机镜像。下面的诊断部分就能帮你快速判断是哪一类占用。3. 清理前的空间诊断清理 C 盘之前建议先花几分钟定位空间占用。直接盲目删文件容易把重要资料误删还很难彻底解决空间不足的问题。3.1 使用 Windows 自带“存储设置”按Win I打开“设置”依次进入“系统 - 存储”就能看到 C 盘的整体占用情况。点击“临时文件”系统会列出可以清理的临时文件类型包括Windows 更新清理传递优化文件临时文件缩略图回收站DirectX 着色器缓存这里可以先不动手只是用来判断哪些类别占空间大。如果“临时文件”里面已经有几十个 GB说明后续清理的空间会比较可观。如果“系统和保留空间”巨大则需要考虑 WinSxS 组件清理或休眠文件的问题。在存储设置里点击“显示更多类别”还可以看到“系统与保留”“应用”“桌面”“文档”“图片”“音乐”“视频”等各占多少空间。这样能快速判断是软件装得太多还是某个目录下面的文件太多。3.2 使用 PowerShell 扫描大文件存储设置能看大类但不能直接告诉你哪个文件最大。如果经验不够可以先跑一段 PowerShell 命令找出 C 盘里大于 1 GB 的文件。这段命令遍历整个 C 盘会比较久建议在空闲时段运行而且只需要在 C 盘快满的时候扫描一次。Get-ChildItem -Path C:\ -Recurse -File -Force -ErrorAction SilentlyContinue | Where-Object { $_.Length -ge 1GB } | Sort-Object Length -Descending | Select-Object -First 30 FullName, {Name SizeGB; Expression { [math]::Round($_.Length / 1GB, 2) } }执行后会在终端列出最大的 30 个文件。看到hiberfil.sys、pagefile.sys、swapfile.sys这类系统文件不要用普通删除方式处理需要用系统设置和命令关闭休眠或调整虚拟内存。看到C:\Windows\SoftwareDistribution\Download里的大文件则属于更新下载缓存可以通过脚本安全清理。如果全盘扫描太慢也可以只看用户目录下的常见缓存目录例如C:\Users\用户名\AppData\Local。这个目录是用户级应用缓存的集中地空间占比往往最大。Get-ChildItem -Path $env:LOCALAPPDATA -Recurse -File -Force -ErrorAction SilentlyContinue | Where-Object { $_.Length -ge 500MB } | Sort-Object Length -Descending | Select-Object -First 30 FullName, {Name SizeMB; Expression { [math]::Round($_.Length / 1MB, 2) } }3.3 使用可视化空间分析工具PowerShell 命令对新手不够直观也可以使用空间分析工具配合查看。常见工具包括 WizTree、TreeSize Free、WinDirStat。这类工具会以色块和目录树展示 C 盘里各类文件的大小分布能很直观地看出哪些文件夹是大头。从原理上看WizTree 通过读取 NTFS 的 MFT 主文件表来获取文件信息扫描速度非常快适合普通用户快速定位大文件。TreeSize Free 使用逐目录遍历方式速度略慢但信息较全。WinDirStat 是老牌工具适合做目录粒度分析。不管用哪个工具定位到超大文件后的处理思路都一样先确认是不是系统非必要文件再确认是否属于某个软件的缓存目录最后决定删除还是迁移。不要一看到.db或.log后缀就删先确定它属于哪个软件。4. 一键清理 BAT 脚本这个部分是整套方案里最实用的部分。下面这份 BAT 脚本负责清理七类可以安全重建的内容用户临时文件、系统临时文件、Windows 更新下载缓存、回收站、缩略图缓存、错误报告、DirectX Shader 缓存。不会主动删除桌面、文档、下载、图片和视频里的个人文件。4.1 脚本内容新建一个文本文件把文件后缀改为.bat例如C盘清理一键脚本.bat然后复制下面内容。echo off chcp 65001 nul title C盘清理与电脑清理工具 - 请使用管理员身份运行 setlocal EnableDelayedExpansion echo echo C盘清理与电脑清理工具 echo 清理前请关闭微信、浏览器、Office 等软件 echo 脚本只清理缓存和临时文件不删除个人文档 echo echo. :: 检查是否以管理员权限运行 net session nul 21 if %errorlevel% neq 0 ( echo [提示] 请右键本脚本选择“以管理员身份运行”。 pause exit /b ) echo [1/7] 清理当前用户临时文件... if exist %TEMP% ( del /f /s /q %TEMP%\* nul 21 for /d %%i in (%TEMP%\*) do rd /s /q %%i nul 21 ) echo [2/7] 清理系统临时文件夹... if exist %SystemRoot%\Temp ( del /f /s /q %SystemRoot%\Temp\* nul 21 for /d %%i in (%SystemRoot%\Temp\*) do rd /s /q %%i nul 21 ) :: 停止 Windows Update 和 BITS 服务后清理更新缓存 echo [3/7] 清理 Windows 更新下载缓存... net stop wuauserv nul 21 net stop bits nul 21 if exist %SystemRoot%\SoftwareDistribution\Download ( del /f /s /q %SystemRoot%\SoftwareDistribution\Download\* nul 21 for /d %%i in (%SystemRoot%\SoftwareDistribution\Download\*) do rd /s /q %%i nul 21 ) net start wuauserv nul 21 net start bits nul 21 echo 更新服务已自动重新启动。 echo [4/7] 清空回收站... powershell -NoProfile -Command Clear-RecycleBin -Force -ErrorAction SilentlyContinue nul 21 echo [5/7] 清理缩略图缓存和图标缓存... if exist %LocalAppData%\Microsoft\Windows\Explorer ( del /f /s /q /a %LocalAppData%\Microsoft\Windows\Explorer\thumbcache_*.db nul 21 del /f /s /q /a %LocalAppData%\Microsoft\Windows\Explorer\iconcache_*.db nul 21 ) echo [6/7] 清理 Windows 错误报告... if exist C:\ProgramData\Microsoft\Windows\WER ( del /f /s /q C:\ProgramData\Microsoft\Windows\WER\ReportQueue\* nul 21 for /d %%i in (C:\ProgramData\Microsoft\Windows\WER\ReportQueue\*) do rd /s /q %%i nul 21 del /f /s /q C:\ProgramData\Microsoft\Windows\WER\ReportArchive\* nul 21 for /d %%i in (C:\ProgramData\Microsoft\Windows\WER\ReportArchive\*) do rd /s /q %%i nul 21 ) echo [7/7] 清理 DirectX Shader 缓存... if exist %LocalAppData%\D3DSCache ( del /f /s /q %LocalAppData%\D3DSCache\* nul 21 for /d %%i in (%LocalAppData%\D3DSCache\*) do rd /s /q %%i nul 21 ) echo. echo 清理过程完成。被占用的文件无法删除属于正常现象。 echo 建议重启电脑让 Explorer 和系统重新生成必要缓存。 pause复制时要注意脚本里的中文路径和文件名不会被系统误判。保存后右键选择“以管理员身份运行”Windows 弹出用户账户控制提示时选择“是”。4.2 脚本的使用步骤完整使用流程如下关闭正在运行的微信、浏览器、Office、设计软件和视频剪辑软件。右键点击保存好的 BAT 文件选择“以管理员身份运行”。等待脚本逐项执行观察每一步是否报错。执行完成后重启电脑。打开“此电脑”查看 C 盘可用空间。如果你看到大量“拒绝访问”或“文件正在使用”提示属于正常情况。脚本清理的部分文件正被系统或某个软件占用跳过即可不影响整体结果。4.3 脚本安全性说明这份脚本有一个设计原则只删除可以通过系统重建的临时缓存。临时文件、缩略图缓存、图标缓存、DirectX Shader 缓存被删除后Windows 或者对应软件会在下次使用时自动重建。Windows 更新下载缓存被删除后更新程序会重新下载所需文件。错误报告和更新缓存删除后也不影响常规使用。回收站清理是唯一不可逆的项目且清空回收站后文件不会通过回收站找回。如果你回收站里还有重要文件先打开回收站查看把需要保留的文件还原后再运行脚本。避免直接从搜索引擎下载来路不明的 BAT 清理脚本。有些脚本会错误地删除C:\Windows\System32里的文件或者修改注册表设置轻则系统功能异常重则无法启动。使用任何脚本前先通读一遍内容确认每个目录都在自己认可的清理范围里。如果你希望清理前创建系统还原点可以先确认系统保护已经开启然后管理员运行Checkpoint-Computer -Description C盘安全清理前还原点 -RestorePointType MODIFY_SETTINGS如果系统保护未开启该命令会失败不会对系统产生副作用。5. 使用 Windows 自带工具深度清理BAT 脚本处理的是最容易膨胀的缓存目录但 C 盘里还有一些系统组件级占用需要通过 Windows 自带工具处理。5.1 磁盘清理 cleanmgrWindows 的磁盘清理工具是最稳妥的官方方案。在“此电脑”里右键 C 盘选择“属性 - 磁盘清理”或者直接运行命令cleanmgr /d C:第一次打开时显示的是当前用户的清理项。如果需要清理 Windows 更新残留、系统恢复、Windows 升级日志等系统级文件点击左下角“清理系统文件”这时会再次弹出清理选项并列出“Windows 更新清理”等大项。勾选后点击确定工具会开始清理。磁盘清理的优点是安全官方工具不会误删系统需要的文件。缺点是速度有时较慢特别是清理大型 Windows 更新缓存时可能要等十几分钟甚至更久。如果不知道某项文件的用途建议只勾选“Windows 更新清理”“临时文件”“缩略图”“传递优化文件”保留“回收站”“下载”等带风险的选项原样。如果希望把常用清理配置保存下来可以运行cleanmgr /sageset:100运行后会弹出清理项配置窗口。配置完成后再运行cleanmgr /sagerun:100系统会使用刚才保存的配置直接清理。100只是自定义编号可以换成其他数字。这套命令适合把磁盘清理也纳入一键脚本的进阶用户。5.2 开启存储感知存储感知是 Windows 10 / Windows 11 内置的自动清理功能。进入“设置 - 系统 - 存储”打开“存储感知”系统会定期清理临时文件和回收站还能设置回收站文件保留天数。推荐设置思路回收站文件保留天数设为 14 天或 30 天不要设为“从不”。下载文件夹保留天数视个人需求开启。“本地不可用的云内容”清理按需开启。临时文件清理选择“应用未使用文件”项。存储感知适合做日常维护不能替代每月一次的大扫除。它的清理范围仍然有限无法处理微信缓存、浏览器缓存、WizTree 找出的超大文件等问题。5.3 DISM 组件清理Windows 的组件存储WinSxS会保存系统更新前的旧版本组件用于卸载更新和系统修复。随着更新次数增加WinSxS 越来越大。这个文件夹不能手动直接删除否则系统更新和恢复功能都可能损坏。官方做法是通过 DISM 命令清理。管理员身份打开命令提示符Dism.exe /Online /Cleanup-Image /StartComponentCleanup这个命令会清理不再使用的旧组件。执行时间取决于系统更新历史和磁盘性能短则几分钟长则半小时。执行过程中不要强制关闭窗口也不要重启电脑。如果空间极度紧张且确认不再需要卸载当前已装的 Windows 更新可以添加/ResetBase参数Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase需要注意/ResetBase会把当前已安装更新标记为不可卸载未来不能再通过“卸载更新”回退到旧版本。普通办公电脑不建议随便使用这个参数保留系统自动维护的清理策略更稳妥。5.4 调整休眠文件与页面文件如果磁盘清理和脚本都完成以后C 盘可用空间还是不多要检查hiberfil.sys和pagefile.sys。在“此电脑”地址栏输入C:\hiberfil.sys或C:\pagefile.sys文件资源管理器会提示拒绝访问。这是正常现象不代表系统故障。要查看这些文件是否开启可以通过管理员命令提示符执行powercfg /a命令会列出当前系统支持的睡眠状态。如果显示“休眠已启用”说明hiberfil.sys存在。对于不用休眠、不需要 Windows 快速启动、不希望 C 盘被大文件占用的台式机和笔记本可以管理员身份执行powercfg /h off关闭后系统会删除hiberfil.sys释放约等于物理内存大小的空间。副作用是“休眠”功能不再可用Windows 快速启动也会受影响。如果你平时用“开始菜单 - 关机”更多而不是依赖休眠恢复那么影响很小。页面文件pagefile.sys不建议用命令行直接关闭。强制关闭虚拟内存后内存压力高可能导致软件崩溃或蓝屏。更合理的方式是在“系统属性 - 高级 - 性能设置 - 高级 - 虚拟内存”里把系统托管的页面文件改到 D 盘或 E 盘或者调整为“系统管理的大小”保留至少一部分虚拟内存。6. 开发机与软件缓存的定向清理脚本只能处理通用缓存。特定软件产生的缓存需要单独判断。6.1 浏览器缓存浏览器缓存最大的问题不是空间是文件数量多。Chrome、Edge、360 浏览器都有独立缓存目录。浏览器本身提供“清除浏览数据”功能比直接删除目录更安全。Chrome/Edge 的缓存路径类似C:\Users\用户名\AppData\Local\Google\Chrome\User Data\Default\Cache C:\Users\用户名\AppData\Local\Microsoft\Edge\User Data\Default\Cache不建议在浏览器运行时手动删除整个Cache目录否则可能导致浏览器标签页崩溃或下载任务异常。正确做法是打开浏览器设置在隐私/清除浏览数据里选择“缓存的图像和文件”时间范围选“全部”点击清除。如果 C 盘空间小还可以把浏览器下载目录和默认文件保存位置改到 D 盘Chrome 设置里搜索“下载内容”Edge 设置里搜索“下载”把下载路径改成 D 盘目录避免大文件继续堆积在 C 盘。6.2 通讯软件与网盘缓存微信是 C 盘空间的隐形大户。打开微信 PC 端设置 - 文件管理 - 打开文件夹可以看到聊天记录文件目录。微信会按好友和群聊自动生成大量缓存视频、图片和文件。微信 PC 端建议在“设置 - 文件管理”里点击“迁移”把文件保存路径改到其他盘。请注意迁移操作过程中不要关闭微信或强制断电。已经积累的聊天记录文件可以通过客户端“存储空间管理”清理缓存不要直接在文件资源管理器里删除MsgAttach文件夹否则可能导致聊天记录图片失效。QQ 的思路类似。在 QQ 设置中修改文件管理目录把聊天记录和接收文件保存到非系统盘。网盘客户端的同步目录也要确认路径百度网盘、阿里云盘、坚果云默认都有可能把同步目录放在用户文件夹下。如果你不需要自动同步直接在客户端设置里修改目录比手动移动文件夹更可靠。6.3 开发环境缓存如果你的电脑安装了 Python、Node.js、.NET 等开发工具清理这些包管理器缓存可以获得非常明显的空间收益。Python 的 pip 缓存可以通过命令清除pip cache purgeNode.js 的 npm 缓存可以通过命令清除npm cache clean --force.NET/NuGet 的缓存可以通过 dotnet CLI 清除dotnet nuget locals all --clear如果电脑上安装了 npm 和 yarn还要注意yarn cache clean。Docker 占用的空间不来自用户目录缓存而是镜像和容器层需要用docker system prune清理具体命令要确认 Docker 环境后执行。开发工具的 IDE 也值得检查。Visual Studio 的组件缓存、JetBrains IDEA / PyCharm 的索引和本地历史、VS Code 的扩展缓存都可能占用数个 GB。这些缓存删掉后IDE 会在下一次打开项目时重建索引速度会比平时稍慢但不会损坏源码头文件。如果担心误删 IDE 配置可以先只清理日志和缓存目录保留设置目录。下面是一个干净的 PowerShell 片段可以分步清理通用开发缓存# 请先确认这些包管理器确实在使用 if (Get-Command pip -ErrorAction SilentlyContinue) { pip cache purge } if (Get-Command npm -ErrorAction SilentlyContinue) { npm cache clean --force } if (Get-Command dotnet -ErrorAction SilentlyContinue) { dotnet nuget locals all --clear }开发机建议在项目停工时执行这些命令避免清理缓存时正好有编译进程在读取包文件。7. 批量执行与自动化扩展上面的 BAT 脚本适合普通用户但对于想要定时维护的用户可以用 PowerShell 把更多目录纳入清理范围形成一套可计划的批处理任务。下面这段 PowerShell 会清理用户临时目录、Windows 临时目录、Windows 更新下载缓存和回收站。和 BAT 脚本的区别是写法更灵活方便继续追加目录$ErrorActionPreference SilentlyContinue $targetPaths ( $env:TEMP\*, $env:windir\Temp\*, $env:windir\SoftwareDistribution\Download\*, $env:LocalAppData\Microsoft\Windows\INetCache\* ) foreach ($path in $targetPaths) { if (Test-Path $path) { Remove-Item -Path $path -Recurse -Force -ErrorAction SilentlyContinue } } Clear-RecycleBin -Force -ErrorAction SilentlyContinue Write-Host C 盘基础清理完成 -ForegroundColor Green把这段代码保存为.ps1文件右键用 PowerShell 运行。如果系统默认执行策略限制脚本运行可以通过管理员 PowerShell 临时放开Set-ExecutionPolicy -Scope Process Bypass然后执行powershell -ExecutionPolicy Bypass -File D:\scripts\clean-cache.ps1清理完成后用 PowerShell 查看 C 盘可用空间确认清理效果Get-PSDrive C | Select-Object { Name FreeGB Expression { [math]::Round($_.Free / 1GB, 2) } }如果想让清理任务每周自动执行可以在“任务计划程序”中创建基本任务操作填powershell.exe参数填-ExecutionPolicy Bypass -File D:\scripts\clean-cache.ps1触发时间设置为每周一次。这里需要注意任务计划程序里的清理任务不一定有管理员权限如果脚本需要清理系统 Windows 临时目录应该勾选“使用最高权限运行”。本节提供的只是模板建议根据自己的电脑环境调整目录列表。不要把个人文件目录加入自动清理范围自动删除目录的误操作代价比手动清理高得多。8. 资源占用与系统状态观察C 盘清理的效果不应该只看“可用空间变大了多少”还要关注清理前后系统的变化。正确判断方式是记录清理前可用空间执行清理重启电脑再记录可用空间和系统启动情况。正常情况下比较合理的观察维度包括C 盘可用空间是否明显提升。系统重启后能否正常进入桌面。浏览器、微信、Office 等常用软件能否正常打开。资源管理器是否正常重建缩略图。系统更新服务是否正常运行。如果空间释放了几 GB但开机速度变慢通常是资源管理器正在重建缩略图缓存和图标缓存。等待几分钟或者再重启一次电脑系统会恢复到正常状态。如果空间释放不多说明没有积累太多临时垃圾重点应该转向大文件定位和软件缓存处理。清理操作本身也会消耗 CPU 和磁盘 I/O。DISM 组件清理、全盘 PowerShell 扫描最耗时。尽量在电脑空闲、插入电源时执行。笔记本使用电池运行时执行大规模清理可能因为系统自动节能而降速而且中途断电会有风险。从“每 GB 空间清理的时间成本”来看最优顺序是这样的先清空回收站、临时文件这部分基本零风险收益也最直接再执行 Windows 更新清理和 DISM处理几个 GB 到几十个 GB 的旧组件最后才处理休眠文件、页面文件这种需要修改系统设置的项。9. 常见问题与排查方法问题现象可能原因排查方式解决方案脚本删除文件时报“文件正在使用”软件或系统进程正在占用文件查看脚本输出中的文件路径关闭对应软件后重新运行脚本脚本报“请以管理员身份运行”执行权限不足确认当前账号是否有管理员权限右键脚本选择以管理员身份运行清理后 C 盘空间只增加一点点C 盘空间主要被个人文件或软件占用查看存储设置和 WizTree 分析迁移个人文件或软件到大文件目录非系统盘清空回收站后想找回文件回收站被清空检查是否有备份或历史版本无法通过回收站恢复重要文件要提前备份磁盘清理点击“清理系统文件”后卡住清理更新缓存时资源占用高等待一段时间观察任务是否继续进行不要在磁盘清理时同时运行大型软件Windows 更新服务重启失败系统服务配置异常查看服务状态重启电脑后再检查自动更新服务休眠文件关闭后想重新开启需要休眠功能管理员命令行执行 powercfg /a 查看状态运行powercfg /h on开启执行 DISM 命令长时间卡住系统组件清理耗时观察 CPU 占用和磁盘活动等待完成不要强制关闭终端还有一种常见情况清理时看到 C 盘根目录出现了带隐藏属性的hiberfil.sys想通过普通右键删除结果提示没有权限。这不是故障Windows 不允许直接删除休眠文件必须使用powercfg命令。类似地pagefile.sys也不能直接删需要去虚拟内存设置里修改。如果清理后某一天 C 盘又满了不要急着再跑一次清理。优先检查最近是否安装了大型游戏或软件、微信/QQ 文件目录路径是否还在 C 盘、浏览器是否下载了多个大视频文件、Windows 是否刚做完大版本更新。揪出新增大文件比反复清理缓存更重要。关于“文件被占用”的补充说明绝大多数临时目录里的文件都在频繁读写脚本遇到被占用文件会直接跳过不影响清理效果。不要为了删除某一个被占用文件就强制结束系统进程那样反而容易造成数据丢失。10. 最佳实践与安全边界C盘清理的工程化思路可以总结成三条先备份、再诊断、后执行。备份层面清理前把重要文档、照片和项目代码确认一遍。不需要每次都做全盘镜像但至少保证回收站里没有想保留的文件微信文件目录不要处于迁移中断的状态。执行脚本前关闭所有关键程序能避免很多“文件正在使用”的报错。诊断层面不要一上来就删文件。先用存储设置查看大类再用 WizTree 或 PowerShell 扫描大文件确认空间占用主要由系统缓存、软件缓存、还是个人文件导致。不同原因对应的解决方案完全不同。如果是个人文件占了大头无论清理多少次缓存都无法根治只有迁移文件一条路。执行层面建议按“低风险到高风险”排序。第一批清理临时文件和回收站第二批清理 Windows 更新缓存和缩略图第三批执行 DISM 组件清理第四批才是关闭休眠文件、调整虚拟内存、迁移用户目录这类需要谨慎处理的系统设置。不要跳过顺序也不要同时执行两个大清理任务。安全边界的提醒有几点不要使用来路不明的“一键清理”软件尤其不要下载所谓“C盘清理大师”安装包。不要在公共电脑或他人的电脑上擅自执行清空回收站、删除临时文件等操作。微信、QQ 的聊天记录迁移前要确认本机和目标盘空间充足迁移过程中不要断网断电。涉及工作资料的电脑清理前先确认软件缓存目录里没有未保存的工程文件。清理系统组件时不要手动删除C:\Windows\WinSxS下的子目录只能通过 DISM 官方命令处理。页面文件pagefile.sys不要强制关闭建议保持“系统管理的大小”。日常维护频率上普通办公电脑可以每 1 到 3 个月做一次完整的 C 盘清理每周让存储感知自动处理一次临时文件。开发机因为 npm、pip、Docker 等缓存增长快建议每个月跑一遍开发缓存清理观察 C 盘剩余空间的变化。另外一个容易被忽略的问题如果 C 盘剩余空间长期低于 10%即使清理成功也可能很快再次变红。更好的办法是给系统盘预留足够空间比如 512 GB 固态硬盘给 C 盘分配 150 GB 以上日常把下载和文档类文件放到 D 盘。空间规划比临时抢救更重要。11. 总结与下一步C盘清理这件事本质上就是“定位大文件 清理可再生缓存 阻止再次膨胀”三步。没必要下载电脑管家也不必急着重装系统。用 Windows 自带的存储感知和磁盘清理配合这份简单的 BAT 脚本普通电脑小白也能完成一轮有效清理。下一阶段建议按照顺序做三件事打开“设置 - 系统 - 存储”看看临时文件类别占了多大空间顺手开启存储感知。把上面第 4 节的 BAT 脚本保存到本地以管理员身份运行完成第一轮自动清理。重启电脑后运行Get-PSDrive C查看可用空间如果空间仍然紧张再用 WizTree 扫描大文件定位微信缓存、开发缓存或大型游戏的具体位置。最容易踩的坑是盲目删除C:\Windows下的系统文件以及在不确认内容的情况下直接清空回收站。只要守住“只清理可重建缓存、不碰个人资料和系统组件”的边界C 盘清理没有想象中那么危险。建议把这份流程收藏备用下次 C 盘变红的时候直接打开文章照着走一遍。
返回列表