机器报 0x80070070,C 盘飘红。这个错误码是 Windows 的磁盘空间不足提示,装更新、导出文件、开大工程都会卡在这一步。打开资源管理器,在地址栏输入 C:\Program Files (x86) 回车,几十个文件夹排在那里,谁占了多少空间完全看不出来,一个都不敢删。
这个目录能压,但不能把整个文件夹一压了事。合理的顺序是先查清 C:\Program Files (x86) 里谁最占空间,再清掉缓存和日志、删掉旧版本残留、把大软件装到别的盘,最后才对没用的文件做压缩,并逐个打开确认程序还能用。
下面这些操作在 Windows 10 和 Windows 11 上实测可用,命令里的路径都加了引号,可以直接复制。
吃空间的大头往往不在软件本体上,而在它运行过程中攒下来的几类东西:
*.log、*.dmp、CrashDumps 这类文件,软件跑一次涨一点软件跑起来真正必需的文件只占其中一部分,剩下的大多能按上面的顺序处理。先分类再动手,比打开目录就删要稳妥。

动作只有一个:把每个子目录的体积算出来,按大小从大到小排,只处理排在前面的 20 个。看不到体积就动手,等于闭着眼删东西。
powershell,按 Ctrl+Shift+Enter 以管理员身份打开Get-ChildItem 'C:\Program Files (x86)' -Directory | ForEach-Object { [PSCustomObject]@{Name=$_.Name; SizeMB=[math]::Round((Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum/1MB,1)} } | Sort-Object SizeMB -Descending | Select-Object -First 20路径带空格必须加单引号,否则会提示找不到路径。
-ErrorAction SilentlyContinue用来跳过没有权限的子目录,不然会中途刷出一屏红字。
跑完拿到的是按体积排序的一张表,通常前十几个目录就占了 x86 里七成以上的空间。后面的方法只针对这份名单。

Cache、Logs、*.log、*.dmp 和更新包缓存都能重新生成,删掉不影响软件运行。但 C:\Windows\Installer 不能手动删——那里的 .msi 和 .msp 一删,软件既不能修复也不能卸载。
cleanmgr,选 C 盘,点「清理系统文件」,勾上「Windows 更新清理」「临时文件」「传递优化文件」Cache、CacheData、Logs、CrashDumps、Update、Updater 这类文件夹*.log、*.dmp、*.tmp 文件删除,删之前确认不是授权文件或配置数据C:\Windows\Installer 交给 cleanmgr 处理,手删里面的 .msi / .msp 会让软件装不上也卸不掉这一步一般能腾出几百 MB 到几个 GB,具体看这套软件更新过多少次。
同一款软件出现 xxx 2021、xxx 2023 并列文件夹时,先确认新版能正常打开,再动旧版目录。同名前缀加不同年份的并列目录,是最常见的一类浪费。
_bak 后缀,放 3–5 天确认没异常再彻底删除Uninstall.exe 不要单独删,卸载记录还在注册表里,删了会变成残留项重命名比直接删安全,出问题把名字改回来就能继续用。这一步能腾出多少,取决于这台机器上装过多少个版本。
这一步腾出的空间最多。直接把目录剪切到 D 盘是错的——注册表和快捷方式还指向旧路径,软件下次启动就报找不到文件。正确做法是卸载后重装,在安装向导里手动把路径改到 D 盘。
C:\Program Files (x86)\软件名 改成 D:\Program Files (x86)\软件名搬完之后再跑一次方法一的命令,确认 C 盘确实降下来了。

只给资源、文档、示例、语言包这类目录开 NTFS 压缩。.exe 和 .dll 本身已经是压缩过的,再压收益很小,还可能拖慢启动。
compact /c /s:"C:\Program Files (x86)\软件名\resources".exe、.dll 和正在被软件读写的目录不要压compact /u /s:目录,或在同一个属性窗口取消勾选压缩NTFS 压缩对文本和图片的压缩率通常在 20% 到 50%,对已经打包过的安装包几乎没有效果。
下面几种情况不适合直接套上面的流程。
整个 Program Files (x86) 能一起开 NTFS 压缩吗,压完软件还能正常打开吗?
不建议。整个目录压下去,正在读写的 .exe、.dll 会被一起压进去,启动变慢甚至报错。只压 resources、samples 这类只读资源目录,压完逐个打开软件验证。
Program Files 和 Program Files (x86) 加起来占 80 GB 正常吗,删哪个安全?
装了设计软件、游戏、开发工具的机器,80 GB 不算离谱。两个文件夹都不能删,删了对应的软件全部失效。要减只能按方法二、方法三清缓存和旧版本残留,再把大软件搬到 D 盘。
删旧版本目录提示拒绝访问 0x80070005 怎么办?
这个码是权限不足。用管理员身份打开 PowerShell,先接管再授权:
takeown /f "目录路径" /r /d y
icacls "目录路径" /grant administrators:F /t之后就能删或重命名了。
用 PowerShell 统计目录大小卡住不动,是哪里出了问题?
多半是碰到了没有权限的子目录,或者目录里有正在被占用的文件。按 Ctrl+C 中断,确认命令里带了 -ErrorAction SilentlyContinue,再单独对某个子目录跑一次缩小范围。
软件从 C 盘搬到 D 盘后报找不到文件,怎么恢复?
先看报错里缺的是哪个路径,多数是插件目录或素材库还指向 C 盘旧路径。在软件设置里把路径改到新位置;改不了就卸载重装一次,安装时把路径写对。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。