
很多朋友看到 C 盘变红就慌第一时间想到装一个“电脑清理大师”软件点一下“一键加速”再点一下“深度清理”看它刷出一堆缓存和日志感觉心里踏实了。但你要是关注过这些清理软件实际释放了多少空间或者观察过系统盘剩余容量你会发现一个残酷的事实那些几百 MB 的“垃圾文件”对动辄几百 GB 的系统盘来说只是杯水车薪。真正把磁盘空间吃掉的往往是 Windows 更新留下的旧组件、休眠文件、系统还原点、以及各种开发工具的本地缓存。它们藏得很深但完全可以安全清理。这篇文章不推荐安装第三方全家桶而是用 Windows 自带能力加上一个可控的批处理脚本手动把“深度清理”做成真正能释放几个 G 到十几个 G 空间的操作。文章会解释哪些文件能删、哪些文件绝不能碰、怎么一键执行、怎么验证效果以及清理失败时从哪里排查。整个过程面向普通用户也面向需要维护办公电脑或开发机的工程师。1. 为什么系统盘会不知不觉塞满先说结论普通用户的垃圾文件大多只是“看起来多”真正的大头是系统组件和更新缓存。Windows 在运行过程中会产生大量临时文件浏览器缓存、缩略图、回收站这些通常清理一次能释放几百 MB 到 1 G 左右。但如果你的系统盘已经用了好几年且从未做过深度清理那么最占空间的往往是下面几类Windows 更新缓存C:\Windows\SoftwareDistribution\Download。每次系统更新下载的安装包都会留在这里旧版本组件还会残留在 WinSxS 文件夹里。休眠文件C:\hiberfil.sys。它默认占用物理内存的 40% 到 75%16 GB 内存的电脑休眠文件可能就有 6 G 到 12 G。系统还原点System Restore Points。默认会占用系统盘的一定比例空间还原点积累起来几个 G 很常见。页面文件C:\pagefile.sys。通常和虚拟内存设置相关虽然不建议普遍关闭但可以重新评估大小。开发环境缓存。如果你装过 Docker、Node.js、Python、Java、Redis、Elasticsearch 这类工具它们的日志、镜像层、依赖缓存会非常夸张。特别要注意 Docker Desktop 的 WSL 虚拟磁盘文件动辄十几个 G但这属于工具数据不能简单当作“垃圾”删掉。所以这篇文章要做的“深度清理”不是只删临时文件而是分层处理先用系统自带工具做安全清理再用手动脚本清理可控的缓存目录最后检查休眠文件、还原点等大块头。每一步都给你判断标准和兜底方案。2. Windows 清理的基本概念与文件分类2.1 临时文件、缓存文件、系统文件的区别很多人被“垃圾文件”这四个字带偏了以为只要文件夹名字里带 Temp 就能全删。实际上临时文件程序运行期间产生的临时数据正常情况下程序退出后会被清理。如果残留了删除通常安全。缓存文件软件为了加速后续访问而保存的副本。比如浏览器缓存、缩略图缓存、NuGet 包缓存、pip 缓存。删掉后软件会用的时候重新生成安全但可能会让首次访问变慢。系统文件Windows 操作系统运行必需的组件例如 System32 下的文件、WinSxS 组件存储、注册表配置单元。这类文件绝对不能用“清理工具”直接删只能通过 Windows 官方机制处理。2.2 “深度清理”的安全边界在 Windows 上做清理最怕的不是清理不干净而是删掉系统依赖的文件导致启动失败。下面这张表可以帮你快速判断文件/目录路径常见大小是否可清理正确清理方式C:\Windows\Temp几百 MB可清理删除目录内文件系统占用文件跳过C:\Users\你的用户名\AppData\Local\Temp1 G 左右可清理同上C:\Windows\SoftwareDistribution\Download1 G 到 5 G可清理先停止 Windows Update 服务再删C:\Windows\Prefetch几十 MB不建议手动删系统会自动管理删了只会拖慢启动C:\hiberfil.sys内存的 40% 到 75%可关闭powercfg /h off系统还原点数 G可清理磁盘清理中的“清理系统文件”C:\Windows\WinSxS10 G 到 30 G不能直接删Dism /Online /Cleanup-Image /StartComponentCleanupC:\pagefile.sys数 G不建议乱改在虚拟内存设置中调整不要直接删除Docker WSL 虚拟磁盘10 G 到 50 G谨慎处理通过 Docker 自带清理命令或 WSL 压缩这张表是全文安全操作的基础。后面每一节的做法都不会超出这张表的范围。3. 清理前的准备备份、权限与现状确认3.1 为什么要先做备份清理系统文件虽然一般不会破坏用户数据但脚本一旦出现路径写错、通配符匹配到意外文件或者杀毒软件正在占用某个文件结果可能会让你后悔。所以动手清理之前务必做两件事确认重要数据已备份。只需要备份你自己在 C 盘的工作文件不需要备份整个系统。可以把用户目录下的文档、代码工程、数据库导出文件复制到其他盘或移动硬盘。创建系统还原点。虽然我们后面会清理还原点但在清理前创建一个还原点等于给自己留一个后悔药。创建还原点的操作方法按Win R输入sysdm.cpl并回车切换到“系统保护”标签页选择系统盘点击“配置”确认“启用系统保护”然后点击“创建”。如果系统保护本来就是关闭的创建还原点前需要先启用。这里提醒一句如果你的系统盘空间无比紧张启用系统保护会占用少量空间但相比误操作带来的风险这点空间值得花。3.2 检查系统盘当前剩余空间在开始清理前先记录一下当前剩余空间便于后续计算到底释放了多少。使用 PowerShell 执行Get-PSDrive C | Select-Object Used, Free输出示例Used Free ------ ------ 214748364800 52727939072这里的单位是字节。如果觉得不直观可以用$drive Get-PSDrive C 已用空间: {0:N2} GB -f ($drive.Used / 1GB) 剩余空间: {0:N2} GB -f ($drive.Free / 1GB)执行结果大概长这样已用空间: 210.20 GB 剩余空间: 49.00 GB记录这个剩余空间数字。后面每清理完一个环节再执行一次这个命令就能知道哪一类文件释放了多少空间。3.3 以管理员身份执行清理脚本清理 Windows 系统目录、停止 Windows Update 服务、处理休眠文件这些操作都需要管理员权限。不要在普通权限的命令行窗口里直接跑脚本否则不仅会报“拒绝访问”还可能只删除了一部分文件留下一个半成品状态。右键点击“开始”按钮选择“Windows PowerShell(管理员)”或“终端(管理员)”确认 UAC 弹窗允许后再执行后续命令。4. 先跑官方清理磁盘清理与 DISM4.1 存储感知Windows 自带的智能清理Windows 10 1803 之后的系统内置了“存储感知”可以在系统设置中开启自动清理。路径是设置 - 系统 - 存储 - 存储感知开启后Windows 会定期清理“临时文件”和“回收站中超过一定天数的文件”。它最大的优点是安全系数高完全不会碰到不该动的东西。但它的缺点是清理能力有限一般只能释放几百 MB 到 1 G。所以它适合做日常维护不适合做“深度清理”。4.2 磁盘清理工具清理系统文件的隐藏入口这里重点说“磁盘清理”。很多用户只用了它的基础模式实际上里面藏着一个大功能。按Win R输入cleanmgr.exe并回车选择系统盘后点击“确定”。接着点击“清理系统文件”按钮这会重新扫描一次。扫描完成后勾选以下项目Windows 更新清理以前的 Windows 安装临时文件回收站系统还原点和卷影副本其中“Windows 更新清理”和“系统还原点和卷影副本”是相对大头的部分。尤其是系统已经升级过多个大版本时旧组件可以被清出好几个 G。需要特别说明的是如果这里扫描结果只有几百 MB说明你的系统更新习惯比较干净不必强行追求大数字。4.3 用 DISM 压缩 WinSxS 组件存储WinSxS 经常被误解为“可以直接删”其实它是 Windows 组件存储直接删会导致组件损坏。微软提供的清理方式是 DISM 的组件清理命令。以管理员身份打开 PowerShell执行Dism.exe /Online /Cleanup-Image /StartComponentCleanup这个命令会清理旧版本的 Windows 组件安全级别很高它只删除系统确认可以移除的版本文件。如果你的系统盘空间真的很紧张还可以加上 ResetBase 参数Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase加 ResetBase 的含义是把所有已安装更新的旧版本全部标记为不再需要这样可以释放更多空间但代价是之后无法卸载这些补丁。对于普通用户和大多数公司电脑来说这是可以接受的但如果你靠某些特定补丁做兼容性验证执行前要想清楚。DISM 命令执行时间可能长达十几分钟期间不要强制关机。如果卡住先等 5 到 10 分钟不要立刻中断。4.4 处理休眠文件如果你的电脑用的是 SSD而且内存很大休眠文件可能是一个巨大但被忽略的“空间黑洞”。在管理员 PowerShell 里执行powercfg /h off这会关闭休眠功能并自动删除C:\hiberfil.sys。如果你的电脑不需要“休眠”功能只靠“睡眠”模式的话这个操作能立刻释放物理内存大小的 40% 到 75%。同样如果你离不开休眠功能可以缩小休眠文件占用的比例powercfg /h /type reducedreduced 模式会让休眠文件变小但只支持核心休眠场景。注意这条命令在部分笔记本电脑上可能不支持执行后如果没有报错再看文件大小变化。4.5 官方清理后的效果评估完成以上 4 个操作后用一个 PowerShell 命令再次查看剩余空间Get-PSDrive C | Select-Object Used, Free正常情况下磁盘清理和 DISM 至少会释放 1 到 3 GB。如果关闭了休眠再加上几个 G 到十几个 G。到这一步“深度清理”已经见效了。5. 手动一键清理脚本原理与完整代码官方工具做得再安全它也不会帮你清理某些软件缓存比如 Chrome 缓存、Visual Studio 缓存、pip 缓存、npm 缓存等。如果你想一次性把这些缓存目录也清掉这时候可以写一个批处理脚本。5.1 脚本设计原则在写脚本之前先明确四个原则不删除系统关键目录。脚本只清理临时目录、已知缓存目录、回收站、日志目录。跳过正在被占用的文件。批处理删除时如果遇到“另一个程序正在使用此文件”会自动报错并跳过这其实是天然的保护机制。输出日志。每一次清理都记录删除了哪些文件、哪些文件跳过方便事后排查。保留可恢复能力。回收站清空前文件仍然在回收站日志和临时文件被删除后无法恢复但这些都是可以再生成的数据。下面给出一版安全且容易改写的清理脚本。把以下内容保存为C:\Scripts\windows_cleaner.bat注意编码建议使用 ANSI 或 UTF-8避免中文注释乱码。echo off chcp 65001 nul REM REM Windows 深度清理脚本安全版 REM 功能清理临时文件、更新缓存、回收站、缩略图、软件缓存 REM 使用方式右键以管理员身份运行 REM set LOG_FILEC:\Scripts\clean_log_%date:~0,4%%date:~5,2%%date:~8,2%.log if exist %LOG_FILE% del /q %LOG_FILE% echo [INFO] 清理开始 %date% %time% %LOG_FILE% REM 1. 清理 Windows 临时目录 echo [STEP] 清理 Windows Temp 目录 del /f /s /q %SystemRoot%\Temp\* %LOG_FILE% 21 for /d %%i in (%SystemRoot%\Temp\*) do rd /s /q %%i %LOG_FILE% 21 REM 2. 清理用户临时目录 echo [STEP] 清理用户 Temp 目录 del /f /s /q %TEMP%\* %LOG_FILE% 21 for /d %%i in (%TEMP%\*) do rd /s /q %%i %LOG_FILE% 21 REM 3. 清理 Windows 更新下载缓存 echo [STEP] 停止 Windows Update 服务并清理下载缓存 net stop wuauserv %LOG_FILE% 21 del /f /s /q %SystemRoot%\SoftwareDistribution\Download\* %LOG_FILE% 21 for /d %%i in (%SystemRoot%\SoftwareDistribution\Download\*) do rd /s /q %%i %LOG_FILE% 21 net start wuauserv %LOG_FILE% 21 REM 4. 清理缩略图缓存 echo [STEP] 清理缩略图缓存 del /f /s /q %LOCALAPPDATA%\Microsoft\Windows\Explorer\thumbcache_*.db %LOG_FILE% 21 REM 5. 清理 Windows 预取文件系统会自动重建 echo [STEP] 清理预取文件 del /f /s /q %SystemRoot%\Prefetch\*.pf %LOG_FILE% 21 REM 6. 清理浏览器缓存Chrome 和 Edge echo [STEP] 清理 Chrome/Edge 缓存 del /f /s /q %LOCALAPPDATA%\Google\Chrome\User Data\Default\Cache\* 2nul %LOG_FILE% del /f /s /q %LOCALAPPDATA%\Microsoft\Edge\User Data\Default\Cache\* 2nul %LOG_FILE% REM 7. 清理 DirectX 着色器缓存 echo [STEP] 清理 DirectX 着色器缓存 del /f /s /q %LOCALAPPDATA%\D3DSCache\* %LOG_FILE% 21 REM 8. 清理 Windows 错误报告 echo [STEP] 清理 WER 错误报告 del /f /s /q %ProgramData%\Microsoft\Windows\WER\ReportQueue\* %LOG_FILE% 21 del /f /s /q %ProgramData%\Microsoft\Windows\WER\ReportArchive\* %LOG_FILE% 21 del /f /s /q %LOCALAPPDATA%\Microsoft\Windows\WER\ReportQueue\* %LOG_FILE% 21 del /f /s /q %LOCALAPPDATA%\Microsoft\Windows\WER\ReportArchive\* %LOG_FILE% 21 REM 9. 清理回收站 echo [STEP] 清空回收站 rd /s /q %SYSTEMDRIVE%\$Recycle.Bin 2nul %LOG_FILE% REM 10. 清理软件分发下载目录完成后重启相关服务如果前面没有启动成功 sc start wuauserv 2nul %LOG_FILE% echo [INFO] 清理结束 %date% %time% %LOG_FILE% echo [DONE] 清理脚本执行完毕日志文件%LOG_FILE% pause把这套脚本拆解一下del /f /s /q 路径\*表示强制、递归、静默删除路径下的所有文件。for /d %%i in (路径\*) do rd /s /q %%i用于删除路径下的所有子目录。注意批处理中%%i是固定的循环变量写法。chcp 65001是为了让中文注释和 echo 输出在 UTF-8 编码下显示避免乱码。日志文件默认保存在C:\Scripts下如果该目录不存在需要先手动创建或者在脚本开头加一句if not exist C:\Scripts mkdir C:\Scripts。实际使用中建议在脚本开头加这行if not exist C:\Scripts mkdir C:\Scripts这样即使没有手动创建目录也能保证日志路径存在。5.2 脚本的安全检查点这个脚本不会碰C:\Windows\System32不会碰 WinSxS不会碰C:\Program Files。所有删除行为都集中在临时目录、缓存目录、更新下载目录和回收站。就算脚本路径写错最坏的结果也只是清掉了一些可以再生的缓存和临时文件。唯一让人有点犹豫的是“停止 Windows Update 服务”。这是为了确保SoftwareDistribution\Download里的更新缓存没有被系统锁定。脚本在清理结束后会尝试重新启动该服务。如果“net start wuauserv”失败多半是系统策略或服务依赖问题可以在管理员 PowerShell 里手动执行Start-Service wuauserv如果 Windows Update 服务被禁用后续系统更新会失败需要到服务管理器里把启动类型改为“自动”。5.3 更进一步的清理常见的开发工具缓存如果你的电脑装了开发工具下面的命令可以帮助清理几类典型缓存但请按需使用不要盲目全跑。将下面片段追加到脚本中即可REM 11. 清理 npm 缓存 echo [STEP] 清理 npm 缓存 call npm cache clean --force 21 %LOG_FILE% REM 12. 清理 pip 缓存 echo [STEP] 清理 pip 缓存 call pip cache purge 21 %LOG_FILE% REM 13. 清理 NuGet 缓存 echo [STEP] 清理 NuGet 缓存 call dotnet nuget locals all --clear 21 %LOG_FILE%这里有个明显的坑如果电脑没有安装 npm、pip 或 dotnetcall命令会报“不是内部或外部命令”。所以在生产环境的脚本里建议先检查软件是否存在比如where npm nul 21 if %errorlevel%0 ( call npm cache clean --force %LOG_FILE% 21 ) else ( echo [SKIP] npm 未安装跳过 npm 缓存清理 %LOG_FILE% )这样脚本才不会因为缺少某款软件而中断。5.4 脚本运行结果预期以管理员身份运行windows_cleaner.bat后你会在命令行窗口看到类似输出[INFO] 清理开始 2025-01-15 10:23:44 [STEP] 清理 Windows Temp 目录 [STEP] 清理用户 Temp 目录 [STEP] 停止 Windows Update 服务并清理下载缓存 [STEP] 清理缩略图缓存 [STEP] 清理预取文件 [STEP] 清理 Chrome/Edge 缓存 [STEP] 清理 DirectX 着色器缓存 [STEP] 清理 WER 错误报告 [STEP] 清空回收站 [DONE] 清理脚本执行完毕日志文件C:\Scripts\clean_log_20250115.log脚本整体执行时间通常不超过 3 分钟。如果某些文件正在被占用会显示“拒绝访问”或“另一个程序正在使用此文件”这些错误会被写入日志但不会导致脚本停止。再次执行Get-PSDrive C查看剩余空间。这一次释放量不一定很大可能在几百 MB 到 1 G 左右因为真正的大头已经被前面的官方工具解决了。合理的设计就是官方工具清大文件脚本清逻辑垃圾。6. 一键查看清理结果清理完不要只用眼睛看 C 盘的进度条。写一个简短的 PowerShell 函数把清理前后对比打印出来function Get-CDriveInfo { $drive Get-PSDrive C $total ($drive.Used $drive.Free) / 1GB $used $drive.Used / 1GB $free $drive.Free / 1GB [PSCustomObject]{ 盘符 C: 总空间 ({0:N2} GB -f $total) 已用空间 ({0:N2} GB -f $used) 剩余空间 ({0:N2} GB -f $free) 使用率 ({0:P1} -f ($used / $total)) } }先记录清理前的值再运行脚本和官方工具最后再执行一次Get-CDriveInfo输出示例盘符 总空间 已用空间 剩余空间 使用率 --- ------ -------- -------- ----- C: 238.46 GB 180.31 GB 58.15 GB 75.6 %如果这个数字比清理前多了十几个 G说明休眠文件或 Windows 更新清理起到了主要作用如果只多了几百 MB也很正常说明你的系统本来就维护得不错。7. 定期自动化用任务计划程序实现无人值守清理手动刷脚本不是长期方案。更稳妥的思路是让 Windows 在固定时间自动清理临时文件不用每次开机都担心磁盘越来越满。7.1 创建任务计划程序任务在管理员 PowerShell 中执行下面命令创建一个每天凌晨 2 点运行的清理任务$action New-ScheduledTaskAction -Execute C:\Scripts\windows_cleaner.bat -WorkingDirectory C:\Scripts $trigger New-ScheduledTaskTrigger -Daily -At 02:00 $settings New-ScheduledTaskSettingsSet -ExecutionTimeLimit (New-TimeSpan -Minutes 30) -StartWhenAvailable Register-ScheduledTask -TaskName Windows_Daily_Cleaner -Action $action -Trigger $trigger -Settings $settings -RunLevel Highest -Force拆分解释-Execute指定要运行的脚本路径请改成你自己的实际路径。-Daily -At 02:00表示每天凌晨 2 点触发。-ExecutionTimeLimit设置最大运行时间为 30 分钟防止脚本卡住。-RunLevel Highest表示以最高权限运行弹 UAC 时需要提前配置好任务计划程序的账户权限。如果不想写 PowerShell也可以在“任务计划程序”图形界面里手动创建。基本触发器选择“按预定计划”操作选择“启动程序”程序填C:\Windows\System32\cmd.exe参数填/c C:\Scripts\windows_cleaner.bat然后勾选“使用最高权限运行”。7.2 查看任务运行历史相关热搜词中有“windows资源管理器已停止工作”“windows资源保护找到了损坏文件”这类问题它们和脚本自动化有一个共同点都需要看事件日志。任务计划程序运行是否成功可以通过事件查看器确认事件查看器 - Windows 日志 - Microsoft - Windows - TaskScheduler - Operational查找Windows_Daily_Cleaner的事件记录事件 ID 为 102 表示任务完成事件 ID 为 201 表示任务已响应。如果任务根本没有触发优先检查触发条件和账户权限。8. 常见问题与排查思路下面列出 Windows 清理过程中最常遇到的情况以及对应的处理方案。问题现象可能原因排查方式解决方案磁盘清理扫描结果很小系统更新历史比较干净或备份还原点被系统自动删除查看磁盘清理的“清理系统文件”列表用 DISM 组件清理命令补充清理休眠文件无法删除没有以管理员身份运行 PowerShell执行powercfg /a查看休眠支持状态确认管理员权限后重新执行powercfg /h offWindows 更新缓存删除后系统更新失败删除了 SoftwareDistribution 下的必要注册状态或更新服务未启动查看事件日志中 Windows Update 错误记录先运行net start wuauserv确保服务启动必要时用DISM /Online /Cleanup-Image /RestoreHealth修复脚本里中文显示乱码bat 文件编码和 cmd 当前代码页不一致用记事本查看文件当前编码将文件另存为 ANSI 或在脚本首行加chcp 65001清理临时文件时报“文件正在使用”某个程序正在占用该文件查看脚本日志中的具体路径关闭相关程序后重试不需要强制解锁DISM 命令一直卡在 20%系统组件服务被占用或磁盘 IO 慢用资源监视器查看磁盘活动等待 10 分钟不要关机如果长期无响应重启后再执行清理后 C 盘空间反而变小创建了新的休眠文件、页面文件或系统还原点重新检查hiberfil.sys和还原点设置调整休眠模式、减少还原点占用比例清理脚本删除了某些软件缓存导致软件异常缓存目录被软件当作配置文件目录查看日志确认删除路径只保留通用临时目录清理删除敏感路径这里面最容易被忽视的是“磁盘清理中系统还原点被误删”。如果你在清理前创建了一个还原点然后又运行磁盘清理勾选了“系统还原点和卷影副本”那还原点会被清掉之前准备好的后悔药就没有了。所以正确顺序是先确认当前系统状态稳定再创建还原点如果只是普通清理不建议每次都勾选“系统还原点”。9. Windows 清理的禁区与最佳实践9.1 绝不能直接删的目录无论第三方清理工具吹得天花乱坠下面这些路径绝不能简单用“删除”来清理C:\Windows\WinSxS组件存储直接删除会导致系统更新失败、系统组件损坏。C:\Windows\System32系统核心目录误删后系统基本无法启动。C:\Windows\Installer里面存储着已安装软件的修复源直接删除会导致卸载和修复失败。C:\ProgramData\Package CacheVisual Studio 等工具的安装缓存删了可能导致卸载和增量更新失败。C:\Users\你的用户名\NTUSER.DAT这是当前用户的注册表配置单元文件正在使用中不能删除。C:\pagefile.sys页面文件虽然可以调整但不能直接手动删否则系统可能崩溃。判断标准很简单如果这个文件或目录在系统启动和正常运行过程中被锁定并且微软没有提供图形界面的删除入口那就不要强制删除。真正安全的“清理”依赖官方命令而不是暴力删除。9.2 最佳实践清单先官方后脚本。磁盘清理、DISM 是安全系数最高的方法脚本只做官方工具的补充。保留页面文件设置。不要在只有 8 GB 内存的电脑上为了省几个 G 把虚拟内存关闭稳定性优先。定期查看存储感知。让 Windows 自动清理临时文件比你几个月手动清一次更有效。关注 WSL 虚拟磁盘大小。如果你使用 WSL、Docker Desktop它们的虚拟磁盘会持续增长。清理内部缓存后还需要执行wsl --shutdown然后使用Optimize-VHD进行压缩否则宿主机上的ext4.vhdx文件不会自动变小。脚本版本管理。你的清理脚本不要只放在 C 盘某一处建议纳入 Git 仓库或者至少复制一份到其他磁盘避免系统重装后脚本也丢了。生产服务器谨慎执行。公司办公电脑或服务器上执行清理脚本前先了解该机器是否承载了关键服务。停止 Windows Update 服务可能会影响补丁策略使用 DISM 扫描时也要避开业务高峰期。日志必须保留。你很难记得一个脚本在上周到底删了哪些路径。保留日志文件可以在出现问题时快速回溯。9.3 清理思路的最终建议再看一遍整体思路先备份和记录剩余空间然后用系统自带的磁盘清理和 DISM 处理大块头再关闭或减小休眠文件接着用批处理脚本清理临时目录和软件缓存最后通过任务计划程序固化周期用 PowerShell 验证结果。整个过程不依赖任何第三方全家桶遇到报错有日志可查删错了也知道去哪里恢复。这套方法应用到不同的电脑上结果会有差异。对于系统盘本来只有 64 GB 的旧电脑关闭休眠文件加清理系统更新组件很容易释放出 10 GB 以上的空间对于系统盘已经 512 GB 且平时注意维护的电脑一次深度清理可能只有 1 GB 左右。这很正常不必为了追求“清理 10G”这个数字去强行删除不该删的内容。安全永远比空间数值重要。下次看到 C 盘变红时可以先打开磁盘清理的“清理系统文件”再看一眼休眠文件大小然后把本文的脚本拿过来跑一遍。剩下的交给 Windows 自己管理就好了。