Windows · C盘爆满 · 只读诊断

清 C 盘
自救台

你的电脑不知道哪里满了,AI 也看不见你的硬盘。这个页面先用三刀急救帮你把空间抢回来,再教你把真相交给豆包:跑一段只读命令,把结果粘给它,它告诉你剩下的哪些能删、哪些不能碰。全程不需要装任何软件。

问题AI 有判断力,但摸不到你的硬盘,只能瞎猜
解法用系统自带命令扫出事实,再交给 AI 判断
先看这里 · Emergency

如果已经满到装不了软件

那就别急着做体检——盘满到零剩余时,Windows 连临时文件都写不下,浏览器装不上、更新装不了、豆包也下载不了。先做下面的急救三刀,用系统自带的东西把空间抢回来(通常能腾出 10–50GB),不删你任何一个文件。空间回来之后,再往下走三步体检。

SOS
Act Zero · 急救三刀

先把命拉回来

这三刀删的全是系统自己生成、能再长出来的东西:休眠文件、临时文件、更新残留、旧系统备份。你的照片、文档、微信记录一个都不碰。按顺序做,别跳——第一刀最关键,它不需要任何剩余空间就能执行。

1

关掉休眠功能

耗时 10 秒释放 3–12 GB零风险

C 盘根目录藏着一个 hiberfil.sys,是"休眠"功能用来把内存整个倒进硬盘的,大小约等于你内存的一半到全部——8G 内存的机器通常占 3–6GB,16G 的能占 6–12GB。这文件在资源管理器里看不见也删不掉,只能用一条命令让系统自己收回去。这是满盘死锁时唯一不需要剩余空间就能见效的动作。

先打开管理员窗口:

  1. 在左下角 开始按钮 上按鼠标右键(不是左键)
  2. 终端(管理员),Win10 上显示的是 Windows PowerShell(管理员)
  3. 弹出"是否允许更改",点
  4. 粘下面这一行,按回车。没报错就是成功了
管理员窗口 · 一行命令
powercfg -h off
立刻见效:回车后打开"此电脑"看 C 盘,剩余空间会直接多出好几个 GB。有了这点空间,后面的清理才跑得动。
代价:失去"休眠"(合盖睡眠照样能用,不影响),顺带关掉"快速启动",开机慢几秒。想要回来运行 powercfg -h on 就行。
2

一键清掉四类垃圾

耗时 1–3 分钟释放 2–15 GB低风险

这段命令依次清四样:用户临时文件系统临时文件Windows 更新下载完就没用的安装包回收站。都是公认的垃圾目录,清完系统照常运行。正在被程序占用的文件会自动跳过,不用管。

动手前看一眼:最后一步会清空回收站。如果回收站里还有想找回来的东西,先打开它把要留的拖出来,再执行这段。

还在刚才那个管理员窗口里,整段粘进去,按回车(如果光标停在 >> 不动,再按一次回车):

管理员窗口 · 整段粘贴
$b=(Get-PSDrive C).Free
Write-Host '清理中,请稍等...' -ForegroundColor Cyan
Remove-Item "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item 'C:\Windows\Temp\*' -Recurse -Force -ErrorAction SilentlyContinue
Stop-Service wuauserv -Force -ErrorAction SilentlyContinue
Remove-Item 'C:\Windows\SoftwareDistribution\Download\*' -Recurse -Force -ErrorAction SilentlyContinue
Start-Service wuauserv -ErrorAction SilentlyContinue
Clear-RecycleBin -Force -ErrorAction SilentlyContinue
$a=(Get-PSDrive C).Free
Write-Host ("完成!本次释放 {0} GB,C盘现在剩余 {1} GB" -f [math]::Round(($a-$b)/1GB,2),[math]::Round($a/1GB,2)) -ForegroundColor Green
跑完自己报数:最后一行绿字会直接告诉你这次释放了多少 GB、现在还剩多少。
3

挖出最大的一块:旧系统残留

耗时 5–15 分钟可能释放 20–40 GB系统自带工具

如果这台电脑升级过系统(Win10 升 Win11,或装过大版本更新),C 盘里很可能躺着一个 Windows.old,装的是旧系统的完整备份,动辄 20–40GB。130G 的小盘爆满,这是最常见的元凶,也是单笔收益最大的一块。

不能手动拖进回收站(权限会拦、拖一半还留残骸),必须用系统自带的"磁盘清理":

  1. Win 键,直接打字搜 磁盘清理,打开它(或在管理员窗口里输 cleanmgr
  2. 让你选盘,选 C:,确定,等它扫一会儿
  3. 关键一步:点左下角 清理系统文件 按钮 —— 不点它,最大的几块根本不会出现在列表里
  4. 再等它扫一遍,然后把这几项全部勾上
    · 以前的 Windows 安装(就是 Windows.old,最大的一块)
    · Windows 更新清理 / Windows 更新日志文件
    · 传递优化文件
    · 临时文件缩略图回收站
  5. 点确定,确认删除。慢慢等,别中途关窗口
代价:删掉"以前的 Windows 安装"后,就没法一键退回旧版本系统了。如果升级后一直用得好好的,这功能你也用不上。

三刀做完,一般能腾出 10–50GB,足够装豆包、跑更新了。如果还紧张,按下面这张表继续往下挖——性价比从高到低排好了。

分级动作可能释放
🟢 安全删掉系统还原点:右键"此电脑"→属性→系统保护→选中 C 盘→配置→点"删除"。顺手把"最大使用量"拉到 3–5%,以后不会再吃这么多。3–15 GB
🟢 安全给 WinSxS 瘦身:管理员窗口里跑 DISM /Online /Cleanup-Image /StartComponentCleanup。这是系统组件仓库,只能用这条命令清,绝不能手删。跑得慢,10–30 分钟正常,让它跑完。2–8 GB
🟢 安全清 Downloads 里的安装包:打开"下载"文件夹按大小排序,已经装好的 .exe / .msi / .zip 安装包删掉。软件都装上了,安装包留着没用。1–20 GB
🟡 要判断微信 / QQ 搬家:国内用户最大的隐形黑洞。微信 → 左下角设置 → 文件管理 → 先"清理缓存",再把保存位置改到 D 盘;QQ 同理。只在软件自己的设置里操作,别去文件夹手删聊天文件,会弄坏聊天记录。5–50 GB
🟡 要判断卸载不用的软件:设置 → 应用 → 已安装的应用 → 按大小排序,从上往下看,不认识又不用的卸掉。游戏是重灾区。5–40 GB
🟡 要判断大文件搬到 D 盘:如果有 D 盘,把"下载、文档、桌面、视频"整体搬过去(右键文件夹→属性→位置→移动)。以后装软件也尽量选 D 盘。看你的文件
🟡 要判断OneDrive 改成按需下载:如果登了 OneDrive 又开了"始终保留在此设备上",改成按需,本地副本会被清掉、文件还在云上。看同步量

红线:这些千万别手动删

  • C:\Windows\WinSxS —— 看着巨大(十几 G),但里面大量是"硬链接",显示的数字本身就虚高。手删必坏系统,只能用上面那条 DISM 命令瘦身。
  • C:\Windows\System32C:\Windows\Installer —— 系统本体和已装软件的修复/卸载数据,删了软件卸不掉、系统起不来。
  • hiberfil.sys / pagefile.sys / swapfile.sys —— 别手删,用命令或系统设置让它自己收回(第一刀就是干这个)。
  • C:\Windows.old —— 别手动拖删,只能用"磁盘清理 → 清理系统文件"删干净。
  • 微信 / QQ 的聊天文件夹 —— 手删会导致聊天记录损坏、打开报错。只在软件自己的"存储空间 / 文件管理"里清。
  • 任何你不知道是什么的文件夹 —— 拿不准就别动,往下走三步体检,让 AI 先告诉你那是什么。
一条保命原则:所有删除都优先用右键→删除(进回收站,能后悔),不要用 Shift+Delete 永久删除。等确认电脑一切正常,再清空回收站。
空间回来了 · 接下来

三步体检:查出你这台具体什么在吃盘

上面是通用急救,治的是"标准病"。要知道你这台电脑到底是什么在占地方,就得扫一遍:先用系统自带命令扫出一份占用清单(全程只读),再把清单交给豆包做分级诊断。

01
Step One

打开 PowerShell

Windows 自带的,不用下载任何东西

  1. Win 键(键盘左下角那个窗户图标)
  2. 直接键盘输入 powershell
  3. 看到「Windows PowerShell」,点它打开(普通打开就行,不用管理员)
  4. 会弹出一个蓝色或黑色的窗口,光标在闪 —— 就是它
认错了?只要窗口标题里有 PowerShell 就对。如果你打开的是黑色的「命令提示符 / cmd」,关掉重来,那个跑不了这段命令。
02
Step Two

粘进去,等它跑完

点右边的按钮复制整段命令,在 PowerShell 窗口里点一下鼠标右键就会自动粘贴,然后按回车。

只读扫描命令 / 不会删任何文件
$ErrorActionPreference='SilentlyContinue'; $ProgressPreference='SilentlyContinue'; try{[Console]::OutputEncoding=[Text.Encoding]::UTF8}catch{}
function Sz($p){ if(Test-Path -LiteralPath $p){ $s=(Get-ChildItem -LiteralPath $p -Force -Recurse -File -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum; if($s){ return [math]::Round($s/1GB,2) } }; return 0 }
$U=$env:USERPROFILE; $R=@(); $t0=Get-Date
Write-Host "开始只读扫描,不会删除任何文件。预计 2-8 分钟,请勿关闭窗口..." -ForegroundColor Cyan
$R+="===== C盘占用只读扫描报告 ====="
$R+="生成时间: $(Get-Date -Format 'yyyy-MM-dd HH:mm')"
$R+="系统: $((Get-CimInstance Win32_OperatingSystem).Caption)  版本 $((Get-CimInstance Win32_OperatingSystem).Version)"
$R+="物理内存: $([math]::Round((Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory/1GB,1)) GB"
$R+=""
$R+="--- 一、各磁盘容量 ---"
Write-Host "  [1/7] 读取磁盘容量..." -ForegroundColor DarkGray
Get-CimInstance Win32_LogicalDisk -Filter "DriveType=3" | ForEach-Object { $R+=("{0} 总 {1} GB / 已用 {2} GB / 可用 {3} GB / 剩余率 {4}%" -f $_.DeviceID,[math]::Round($_.Size/1GB,1),[math]::Round(($_.Size-$_.FreeSpace)/1GB,1),[math]::Round($_.FreeSpace/1GB,1),[math]::Round($_.FreeSpace/$_.Size*100,1)) }
$R+=""
$R+="--- 二、C盘一级大目录 (GB) ---"
Write-Host "  [2/7] 扫描 C 盘一级目录(最慢的一步)..." -ForegroundColor DarkGray
foreach($p in @('C:\Program Files','C:\Program Files (x86)','C:\ProgramData','C:\Windows.old',$U)){ if(Test-Path -LiteralPath $p){ Write-Host "        $p" -ForegroundColor DarkGray; $R+=("{0} = {1} GB" -f $p,(Sz $p)) } }
$R+="备注: C:\Windows 未单独统计(含硬链接会虚高),其可清理部分见第六节"
$R+=""
$R+="--- 三、用户目录一级 (GB,只列 >0.3GB) ---"
Write-Host "  [3/7] 扫描用户目录..." -ForegroundColor DarkGray
Get-ChildItem -LiteralPath $U -Directory -Force -ErrorAction SilentlyContinue | ForEach-Object { $g=Sz $_.FullName; if($g -ge 0.3){ $R+=("{0} = {1} GB" -f $_.Name,$g) } }
$R+=""
$R+="--- 四、AppData\Local 占用 Top15 (GB) ---"
Write-Host "  [4/7] 扫描 AppData\Local..." -ForegroundColor DarkGray
Get-ChildItem -LiteralPath "$U\AppData\Local" -Directory -Force -ErrorAction SilentlyContinue | ForEach-Object { [PSCustomObject]@{N=$_.Name; G=(Sz $_.FullName)} } | Sort-Object G -Descending | Select-Object -First 15 | ForEach-Object { if($_.G -ge 0.1){ $R+=("{0} = {1} GB" -f $_.N,$_.G) } }
$R+=""
$R+="--- 五、AppData\Roaming 占用 Top10 (GB) ---"
Write-Host "  [5/7] 扫描 AppData\Roaming..." -ForegroundColor DarkGray
Get-ChildItem -LiteralPath "$U\AppData\Roaming" -Directory -Force -ErrorAction SilentlyContinue | ForEach-Object { [PSCustomObject]@{N=$_.Name; G=(Sz $_.FullName)} } | Sort-Object G -Descending | Select-Object -First 10 | ForEach-Object { if($_.G -ge 0.1){ $R+=("{0} = {1} GB" -f $_.N,$_.G) } }
$R+=""
$R+="--- 六、系统级占用与可清理缓存 (GB) ---"
Write-Host "  [6/7] 扫描系统临时/更新缓存..." -ForegroundColor DarkGray
foreach($p in @('C:\Windows\SoftwareDistribution\Download','C:\Windows\Temp','C:\Windows\Installer','C:\Windows\Prefetch')){ if(Test-Path -LiteralPath $p){ $R+=("{0} = {1} GB" -f $p,(Sz $p)) } }
if($env:TEMP){ $R+=("用户临时目录 {0} = {1} GB" -f $env:TEMP,(Sz $env:TEMP)) }
$R+=("回收站 = {0} GB" -f (Sz 'C:\$Recycle.Bin'))
foreach($f in @('C:\hiberfil.sys','C:\pagefile.sys','C:\swapfile.sys')){ $i=Get-Item -LiteralPath $f -Force -ErrorAction SilentlyContinue; if($i){ $R+=("{0} = {1} GB" -f $f,[math]::Round($i.Length/1GB,2)) } }
$R+=""
$R+="--- 七、常见国产软件数据目录 (GB) ---"
foreach($p in @("$U\Documents\WeChat Files","$U\Documents\xwechat_files","$U\Documents\Tencent Files","$U\Documents\BaiduNetdiskDownload","$U\Documents\WXWork","$env:LOCALAPPDATA\DingTalk","$env:LOCALAPPDATA\Packages")){ if(Test-Path -LiteralPath $p){ $R+=("{0} = {1} GB" -f $p,(Sz $p)) } }
$R+=""
$R+="--- 八、用户目录下大文件 Top20 (>300MB) ---"
Write-Host "  [7/7] 查找大文件..." -ForegroundColor DarkGray
Get-ChildItem -LiteralPath $U -File -Recurse -Force -ErrorAction SilentlyContinue | Where-Object { $_.Length -gt 314572800 } | Sort-Object Length -Descending | Select-Object -First 20 | ForEach-Object { $R+=("{0} MB   {1}" -f [math]::Round($_.Length/1MB,0),$_.FullName) }
$R+=""
$R+="(扫描耗时 $([math]::Round(((Get-Date)-$t0).TotalSeconds,0)) 秒;本次扫描全程只读,未删除或修改任何文件)"
$txt=$R -join "`r`n"
$dst="$U\Desktop\C盘扫描报告.txt"
$txt | Out-File -FilePath $dst -Encoding UTF8
try{ Set-Clipboard -Value $txt }catch{ $txt | clip }
Write-Host ""
Write-Host "==================================================" -ForegroundColor Green
Write-Host " 扫描完成!报告已复制到剪贴板,可以直接 Ctrl+V 粘贴给豆包。" -ForegroundColor Green
Write-Host " 同时已保存一份到桌面:C盘扫描报告.txt" -ForegroundColor Green
Write-Host "==================================================" -ForegroundColor Green
  1. 在 PowerShell 窗口里单击鼠标右键 → 命令会自动粘进去
  2. 回车。如果光标停在 >> 不动,再按一次回车
  3. 屏幕会一行行显示「扫描中」,慢是正常的,2 到 8 分钟,别关窗口
  4. 看到绿色的「扫描完成!」就好了 —— 结果已经自动复制到剪贴板
它到底干了什么?只是把每个文件夹有多大数了一遍,一个文件都没删、没改、没上传。唯一新增的东西是桌面上多出一个 C盘扫描报告.txt,方便你剪贴板万一被覆盖了还能重新打开复制。
03
Step Three

让豆包读,给方案

打开豆包,先复制下面这段提示词发过去,然后再 Ctrl+V 把刚才的扫描结果发过去。

发给豆包的提示词
你现在是一位 Windows 存储清理顾问,面对的是一位不懂电脑的普通用户,他的 C 盘已经爆满。

我下面会给你一份用 PowerShell 跑出来的只读扫描报告(全程没有删除任何文件,只是统计了各个目录占多大)。请你读完这份报告,给出一份他能照着做的清理方案。

## 你的输出要求

第一部分:一句话结论
直接说最占地方的 3 样东西分别是什么、各占多少 GB。不要重复罗列报告里的数字表格。

第二部分:三色清单(这是核心,按这个格式输出)

🟢 可以直接清(零风险、删了会自己重新生成)
每一项写清楚:占多少 GB → 这是什么东西 → 在哪一步一步操作 → 清完大概能腾出多少。
例如各种缓存、临时文件、Windows 更新残留、下载文件夹里的安装包(.exe/.msi)、回收站。

🟡 要你自己判断(是你的个人数据,删了拿不回来)
每一项写清楚:占多少 GB → 里面装的大概是什么内容 → 为什么机器不能替你决定 → 给他至少 3 条处置路径(比如:在软件自己的设置里清理 / 先备份到移动硬盘再删 / 搬到 D 盘)→ 删错了会有什么后果。
例如微信和 QQ 的聊天文件、视频、照片、文档、游戏。

🔴 千万别手动删(要删只能用系统自带工具间接清)
每一项写清楚:占多少 GB → 为什么不能手删 → 正确的间接清理步骤(要具体到点哪个菜单、输什么命令)。

第三部分:先做哪几步
按「性价比最高 + 风险最低」排序,给出他今天就该做的 3 步,并估算总共能腾出多少 GB。

## 必须遵守的红线(重要)

1. 绝对不要建议他手动删除这些:C:\Windows\WinSxS、C:\Windows\System32、C:\Windows\Installer、hiberfil.sys、pagefile.sys、swapfile.sys、任何 C:\Windows 下的文件夹。这些删了系统会坏。
2. C:\Windows.old(系统升级残留,常常几十 GB)只能用「磁盘清理」工具删,不能手动拖进回收站。
3. WinSxS 想瘦身只能用命令:DISM /Online /Cleanup-Image /StartComponentCleanup(以管理员身份运行)。
4. 微信、QQ、钉钉的聊天记录和接收的文件属于个人数据,只能在软件自己的「设置 → 存储空间 / 文件管理」里清,不要让他去文件夹里手动删,会导致聊天记录损坏。
5. 所有删除操作,优先教他移到回收站(可以后悔),而不是 Shift+Delete 永久删除。
6. 凡是你不能 100% 确定是什么的目录,一律归到 🟡 让他自己判断,不要猜。

## 优先推荐 Windows 自带的安全入口

在给操作步骤时,优先用这几个(比手动删文件夹安全得多):
- 设置 → 系统 → 存储:能看到分类占用,还有「清理建议」和「存储感知」自动清理开关
- 磁盘清理(开始菜单搜 cleanmgr):点「清理系统文件」按钮后,能清 Windows.old、更新残留、旧驱动
- 设置 → 应用 → 已安装的应用:按大小排序,卸载不用的软件
- 把软件装到 D 盘:如果他有 D 盘,教他以后装软件改路径,以及怎么把「下载/文档/桌面」文件夹整个搬到 D 盘

## 语气要求

- 像在旁边手把手教人,不要写一堆免责声明和"建议咨询专业人士"。
- 每一步都要具体到「按 Win 键 → 搜索框输入 xxx → 点哪个按钮」,不能只说"清理一下缓存"。
- 不确定的地方直接说不确定,不要编造路径。

---

下面是扫描报告,请开始分析:
顺序别搞反:先发提示词,等豆包回一句「好的,请发报告」,再 Ctrl+V 粘报告。一次性全发过去也行,就是长了点。
B
Plan B

实在不想碰命令行

有个零技术含量的退路,效果差一些,但也够用:

  1. Win+i 打开设置
  2. 系统存储,等它算完(会显示应用、临时文件、文档各占多少)
  3. 截图这个页面(按 Win+Shift+S 框选)
  4. 把截图发给豆包,配上面那段提示词,让它照着图给方案
这条路看到的东西比命令粗(只有大分类,看不到具体哪个软件占了多少),但对付「C 盘红了」这种急事已经够。这个页面本身也有「临时文件」的一键清理按钮,可以先点掉。

关于安全,先说清楚