用Codex脚本精准清理C盘:AppData 87.81GB降到23.4GB

发布时间:2026/10/13 20:02:44
用Codex脚本精准清理C盘:AppData 87.81GB降到23.4GB 那个下午C盘爆红提示弹出来的时候我第一反应不是“删点缓存就好”而是愣了一下。系统剩余空间只剩 2.1GB机器跑起来明显发闷打开任务管理器都要转两圈。经历过几次这种场面的人都知道C盘一旦飘红就会陷入两级循环——要么用系统自带清理清理完发现只腾出三四个GB要么用清理软件扫一遍看到一堆顽固文件路径也看不懂更不敢动。老实说靠直觉乱删大概率是从一个“满盘”走进另一个“满盘”。这次我换了个路子先不动任何文件先用 AI 编程工具 Codex 帮我写了一个磁盘体积分析脚本把占用空间最大的一级目录全部算了一遍结果发现用户目录下的 AppData 一家就占了 87.81GB。接着再做二级目录切片把真正的大块头从“占位符”变成了看得懂的明细清单再决定动手清谁。这篇文章就把完整过程拆给你包括脚本思路、AppData 内部结构识别、哪些能删哪些不能删以及清理之后怎么防止它二次爆红。1. 看到“爆红”先别急把错误删除方式挡在前面1.1 我踩过的几次“无效清理”坑以前我清理C盘基本凭三板斧清回收站、删下载目录、用第三方垃圾清理工具。第一板斧没用回收站大概率就那么几GB第二板斧伤筋动骨下载里可能是忘了很久的视频教程一删就没了第三板斧实际体验最差——工具扫出来一堆“可清理项”我根本不知道哪些是真正的缓存哪些是应用正在跑的配置。更要命的是“误伤”。有一回我手快把某个软件的缓存目录整个清掉了结果那个应用启动之后识别不到缓存当场自动重建了一份还把我本地的几份草稿同步状态搞乱了。那次之后我得到一个非常痛的结论C盘爆红时最危险的不是空间不够而是乱删造成的二次问题。所以现在遇到磁盘爆红我的第一原则是先花半个小时搞清楚“空间去哪了”再谈“该删什么”。这个时间成本远低于误删之后找恢复工具的代价。1.2 先理解C盘里的空间去向再谈清理C盘空间一般被三类内容占据系统本体、安装的软件、用户数据。系统本体包括系统镜像、虚拟内存、休眠文件这些普通用户基本动不了软件本体在 Program Files 目录下这部分如果你真缺空间重装时挪到别的盘更实在真正容易被忽略、增长速度又快的往往是用户数据目录下的各种缓存、应用存档、聊天接收文件缩略图、更新包解压文件。其中 AppData 目录是最容易变成“黑洞”的。它分散存放在用户目录下平时文件管理器默认还隐藏很多人的数据都是几百MB几百MB塞进去几年下来积累成几十个GB完全不夸张。这次 87.81GB 的占用里很大一部分就是各种客户端的缓存和临时文件堆积造成的。1.3 我的排查顺序从“整体比例”逐步缩小到“精确路径”我常用的排查顺序是先总后分第一步扫一遍C盘根目录下每个一级目录的体积找到大块头都集中在哪第二步聚焦最大的目录做二级甚至三级目录扫描把80GB级别的“糊成一团”拆成若干个明确的可操作项第三步才是对照清理条件判断哪些目录可以安全处理。这个顺序和侦探查案很像先看案发区域再缩小范围而不是满屋子乱翻。真正让我省力的是第二步和第三步之间我让 Codex 参与进来把原本要手动点属性、逐个目录查看的重复劳动变成了一个可复用的扫描脚本这也是这篇文章标题里“用 Codex 查出”的由来。2. 用 Codex 生成空间分析脚本从“大概”到“87.81GB”的精确扫描2.1 为什么我选“脚本扫描”而不是装个现成工具市面上有很多磁盘空间分析工具能画出块状图哪个文件夹大一目了然。这类工具确实能解决“空间去哪了”的问题。但在我的场景里我更想要的是“能反复执行、能把结果按文本输出、还能换成任意目录扫描”的方案。装一个带界面的工具用完一次就吃灰还得给它腾点空间多少有点没必要。既然标题里提到了 Codex说下真实使用场景我把需求描述给 AI 编程工具 Codex让它帮我写一个 PowerShell 脚本输入目标是 AppData 目录输出每个子目录的大小按从大到小排序。整个代码我大概花了 5 分钟理解、调整和运行比我手动点目录属性快太多。如果你本身懂一点命令行用这种方式来查空间后期复用价值很高。2.2 我给的描述和得到的关键脚本我大致给 Codex 的提示是这样的“写一个 PowerShell 脚本扫描 C:\Users\当前用户名\AppData 下所有子目录统计每个子目录总字节数换算成 GB 并按大小降序输出前 30 个最后输出整个 AppData 的总大小。遇到无法访问的目录跳过不要中断。”Codex 返回的脚本处理逻辑清晰核心部分类似于这样$target C:\Users\$env:USERNAME\AppData $folderSizes Get-ChildItem -Path $target -Directory -Recurse -Force -ErrorAction SilentlyContinue | ForEach-Object { $size (Get-ChildItem -Path $_.FullName -File -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum [PSCustomObject]{ Path $_.FullName SizeGB [math]::Round($size / 1GB, 3) } } $folderSizes | Sort-Object SizeGB -Descending | Select-Object -First 30 | Format-Table -AutoSize $totalSizeGB ($folderSizes | Measure-Object -Property SizeGB -Sum).Sum Write-Output (AppData 总大小: {0} GB -f $totalSizeGB)实际运行的时候我有两个小调整一是把第一个Get-ChildItem的范围限制成 Top 层目录先把 Local、Roaming、LocalLow 三个主干跑出来二是对确认的重点子目录再单独跑一次完整递归避免一次性递归几万个文件夹等到怀疑人生。2.3 扫描耗时和结果读法机器配置不说多高端普通固态硬盘第一次全量扫 AppData 大约花了四五分钟。扫描过程里你会看到 PowerShell 窗口一直滚动那是它在遍历几万甚至十几万个文件。如果某个目录没有访问权限脚本会因为-ErrorAction SilentlyContinue自动跳过不会卡住。最终结果非常直接AppData 总大小 87.81GB。再看排序前排几个目录就占了绝大部分比如说 Local 下的临时目录、某个客户端的缓存目录、崩溃转储目录每一个都比我预想的要大得多。这就是我要的精度从“C盘爆红”这个模糊现象精确到了“87.81GB到底藏在 AppData 的哪些子目录里”。3. 解开 AppData 的 87.81GB三兄弟目录里谁在偷跑空间3.1 Local、Roaming、LocalLow 到底是干什么的不少人对 AppData 三个子目录一直分不清这里尽量用大白话讲清楚。AppData 下面有三个主要分支Local 是当前用户在这台机器上的本地数据比如下载缓存、临时文件、崩溃日志不会跟着账户漫游到别的电脑Roaming 是漫游数据意思是如果你在公司电脑和个人电脑登录同一个账号这部分数据可能被同步很多配置文件和账号状态都在这里LocalLow 则是给权限较低的涉足运行的进程用的例如浏览器插件模式、受保护模式下的应用数据。按我的经验空间胖子主要集中在 Local 里。Roaming 因为涉及配置和账号数据体积一般没那么夸张但也得留心LocalLow 通常不大偶尔会有某些低权限应用把缓存也藏在里面。3.2 我从扫描结果里锁定的几个“大容量来源”扫描排序出来后真正值得重视的几个目录我按常见诱因整理了一下目录/类型常见内容体积特征我的判断Local\Temp系统临时文件、软件安装包解压残留可能十几GB可清理Local\CrashDumps崩溃转储 .dmp 文件单个几百MB积少成多可清理Local\Packages各类应用的缓存和状态数据几个GB到几十GB挑缓存单项清理Roaming\客户端配置设置、账号配置、数据库文件视使用而定不可乱删需谨慎Local\浏览器缓存网页图片、脚本缓存、下载碎片几个GB可清理聊天/视频软件的缓存图片缩略图、视频流缓存、头像缓存往往是大头可清理但需退出程序实际清理时我并没有把 AppData 里所有目录都清一遍因为“全部清掉”这句话本身就很危险。AppData 保存了应用状态、登录凭据、数据库文件一旦被全选删除轻则软件重新配置重则本地未同步的数据找不回来。3.3 清理边界别把手伸进这些“雷区”我给自己定了一条线凡是一眼能看到“配置、数据库、索引、账号”字样的路径一律不做二次确认不动它。典型雷区包括Roaming 下各软件的配置目录里面可能有存储离线数据的 Sqlite 数据库、json 配置文件Local 下带版本号或数据目录后缀的应用数据例如游戏存档、开发工具的项目缓存删除后应用可能需要重新下载内容带有“GPUCache”“ShaderCache”这类名字的目录一般属于可再生成的缓存但也不能保证删完没有细微性能影响建议在应用退出状态下清理不要边运行边删。这些边界规则比“一刀切”更能保证安全。我的策略是先删最没争议的临时文件与崩溃转储再对 缓存类目录逐项操作。4. 清理实战备份、断网、专砍能耗大户4.1 动手前的三道保护措施真正开始清理前我做了很基础的准备工作。第一步把所有正在运行的常驻软件退出包括聊天工具、浏览器、邮箱客户端、网盘客户端。退出是为了避免文件占用也避免删除过程中软件还在往缓存里写内容。第二步如果某个应用的登录状态非常宝贵我会去它自己的设置界面里确认账号已经绑定好而不是依赖本机 Cookie。这样哪怕误删了登录状态重登一次就行。第三步关掉不必要后台任务确保系统处于稳定状态。所有步骤做完后我才打开 PowerShell开始逐目录执行删除。4.2 清理顺序从最安全到相对保守我按“低风险 → 中风险 → 观察后处理”的顺序推进清理AppData\Local\Temp下的临时文件。全选删除遇到提示“正在使用无法删除”的直接跳过。打开AppData\Local\CrashDumps把崩溃转储文件清空。这类文件只是崩溃时留下的快照留着几乎没有正收益。清理聊天与常驻客户端的缓存目录一般路径在它的“数据/缓存”命名文件夹下。操作前先退出客户端我这个步骤直接释放了二十几个GB。清理浏览器缓存类目录先关闭浏览器再删。最后观察 Local 下的大型应用数据包如果确认某个软件已经卸载但目录还在就整体删除。删除文件的时候我用的是资源管理器里的“ShiftDelete”永久删除不走回收站。这一步建议你确认自己真的不需要恢复再操作毕竟回收站也是占空间的。4.3 中途撞见“文件正在使用”怎么办清 Temp 和缓存时最常见的问题是“文件正在被另一个程序使用无法删除”。这不是死局。如果只是个别文件占用直接点跳过如果整个目录都被锁说明对应软件没完全退出去任务管理器确认相关进程是否还在后台驻留结束之后再删。还有一种情况是系统服务占用怎么都删不掉。这时可以把清理计划后置重启电脑后在安全模式或者重启后第一时间继续。我自己一般不会为了删除几个临时文件专门重启电脑但如果收益达到几十GB重启就变成值得的操作。4.4 清理后的复查87.81GB 降到 23.4GB清理完第一轮我把第2章那个扫描脚本又跑了一次AppData 总大小从 87.81GB 降到了 23.4GB清出了 64GB 左右。整体C盘剩余空间也从 2.1GB 恢复到了 66GB 上下系统响应速度立刻回到了正常水平。复查过程中我还特意看了一眼哪些目录被“自动重建”。比如临时目录里又有少量新文件生成这是正常的只要数量不大就行。真正要警惕的是如果删除后立刻又出现几十GB的占用那就不是缓存堆积很可能是某个软件在后台疯狂写日志或者下载内容这就得单独排查了。5. 让它不再“二次爆红”从排障者变成管家人5.1 把部分容量的“出生地”直接挪出C盘清理只能治标要把C盘从“月月爆红”里捞出来最好从习惯层面做改变。以前我觉得软件安装在C盘最省事现在发现缓存和临时文件天然就爱堆用户目录与其几年后清理一次不如把几个大头客户的缓存位置直接改到别的盘。不少软件在设置里提供了“下载目录/存储位置/缓存位置”的可选项只要支持我就迁移。迁移之后重启程序新的缓存会写到新盘C盘的压力小很多。还有一些软件没有提供设置项这种就先不开自动同步某些大型内容要用时再说。5.2 把扫描脚本存成 .ps1 定期巡检我现在的做法是把脚本保存成check-appdata.ps1每隔一两个月跑一次。PowerShell 首次运行 .ps1 脚本时可能需要先调整执行策略可以在管理员终端里执行一条允许本机脚本的策略但里面的内容一定得是你自己看过并且信任的别拿陌生脚本直接跑。最近几次巡检我都设置成“先输出前15个目录清单”而不是全盘递归先看重点关注对象等发现真正异常的目录再深入。这样的日常巡检成本控制在几分钟内不打扰正常使用。5.3 我对“一键垃圾清理”类功能的真实态度很多朋友问我为什么不用系统或者第三方的一键清理。我的回答是这类功能能清掉的主要是“它认为安全”的部分真正省空间的缓存、更新包、崩溃转储、安装残留经常因为分类保守而清理不了多少。动不动就推“重启清理”或者“深度优化”宣发很好听但可别指望它替代你自己的判断。尤其是 C盘爆红这种场景最重要的一步永远是“定位大块头”而不是“盲清垃圾”。AI 工具或脚本帮我们节省了定位时间但最后到底删了什么、要不要保留还是得自己动手去鉴别。5.4 误删后的补救心态最后补充一点防护心得。如果你删完某个目录发现软件异常第一时间别慌软件一般会自动重建缺失的缓存目录如果异常出在配置项退出软件检查是否还有自动备份。真正最忌讳的是在删完之后继续操作一堆软件把新产生的文件盖住原本可以恢复的空间提高恢复难度。对我个人来说这次最大的收获不是那 64GB 空间而是把“C盘爆红”这个慌乱的场景变成了一套有流程、有工具、有边界的管理方法。以后再有磁盘紧张的情况我只需要重新跑一遍脚本看看数据再动手过程几乎不会犹豫。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询