首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >软件占用空间太大压缩怎么办,按这 5 步做,一般能腾出几个 GB 到几十 GB

软件占用空间太大压缩怎么办,按这 5 步做,一般能腾出几个 GB 到几十 GB

原创
作者头像
软领
发布于 2026-10-12 09:45:54
发布于 2026-10-12 09:45:54
230
举报

机器报 0x80070070,C 盘飘红。这个错误码是 Windows 的磁盘空间不足提示,装更新、导出文件、开大工程都会卡在这一步。打开资源管理器,在地址栏输入 C:\Program Files (x86) 回车,几十个文件夹排在那里,谁占了多少空间完全看不出来,一个都不敢删。

这个目录能压,但不能把整个文件夹一压了事。合理的顺序是先查清 C:\Program Files (x86) 里谁最占空间,再清掉缓存和日志、删掉旧版本残留、把大软件装到别的盘,最后才对没用的文件做压缩,并逐个打开确认程序还能用。

下面这些操作在 Windows 10 和 Windows 11 上实测可用,命令里的路径都加了引号,可以直接复制。

为什么会这样

吃空间的大头往往不在软件本体上,而在它运行过程中攒下来的几类东西:

  • 旧版本残留:升级后旧目录没被清掉,同一款软件的 2021、2023 版并排放着
  • 更新包和安装缓存:下载过的补丁、安装包解压出来的临时目录
  • 日志和崩溃转储:*.log、*.dmp、CrashDumps 这类文件,软件跑一次涨一点
  • 用户数据:素材库、模板、示例工程,不少软件默认把它们放在程序目录里

软件跑起来真正必需的文件只占其中一部分,剩下的大多能按上面的顺序处理。先分类再动手,比打开目录就删要稳妥。


方法一 用 PowerShell 查清 x86 里谁最占空间

动作只有一个:把每个子目录的体积算出来,按大小从大到小排,只处理排在前面的 20 个。看不到体积就动手,等于闭着眼删东西。

  1. Win+R 输入 powershell,按 Ctrl+Shift+Enter 以管理员身份打开
  2. 执行下面这条命令
代码语言:powershell
复制
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
  1. 把排前 10 的目录名和体积抄到记事本,后面按这份名单一个个处理

路径带空格必须加单引号,否则会提示找不到路径。-ErrorAction SilentlyContinue 用来跳过没有权限的子目录,不然会中途刷出一屏红字。

跑完拿到的是按体积排序的一张表,通常前十几个目录就占了 x86 里七成以上的空间。后面的方法只针对这份名单。

方法二 清掉可再生的缓存、日志和更新包

Cache、Logs、*.log、*.dmp 和更新包缓存都能重新生成,删掉不影响软件运行。但 C:\Windows\Installer 不能手动删——那里的 .msi 和 .msp 一删,软件既不能修复也不能卸载。

  1. Win+R 输入 cleanmgr,选 C 盘,点「清理系统文件」,勾上「Windows 更新清理」「临时文件」「传递优化文件」
  2. 进名单上的大户目录,找 Cache、CacheData、Logs、CrashDumps、Update、Updater 这类文件夹
  3. 按类型筛选 *.log、*.dmp、*.tmp 文件删除,删之前确认不是授权文件或配置数据
  4. C:\Windows\Installer 交给 cleanmgr 处理,手删里面的 .msi / .msp 会让软件装不上也卸不掉
  5. 清空回收站,重新跑一次方法一的命令,对比这次少了多少 MB

这一步一般能腾出几百 MB 到几个 GB,具体看这套软件更新过多少次。

方法三 删掉同一个软件的多版本残留目录

同一款软件出现 xxx 2021、xxx 2023 并列文件夹时,先确认新版能正常打开,再动旧版目录。同名前缀加不同年份的并列目录,是最常见的一类浪费。

  1. 在资源管理器里按名称排序,找同名前缀加不同年份或版本号并列的文件夹
  2. 先打开新版软件,确认功能正常、授权正常、最近打开的文件列表还在
  3. 旧版目录不要直接删,重命名加 _bak 后缀,放 3–5 天确认没异常再彻底删除
  4. 目录里的 Uninstall.exe 不要单独删,卸载记录还在注册表里,删了会变成残留项
  5. 拿不准就查软件官网的支持页,确认旧版本目录是否还被新版调用

重命名比直接删安全,出问题把名字改回来就能继续用。这一步能腾出多少,取决于这台机器上装过多少个版本。

方法四 把大软件卸载后重装到其他盘

这一步腾出的空间最多。直接把目录剪切到 D 盘是错的——注册表和快捷方式还指向旧路径,软件下次启动就报找不到文件。正确做法是卸载后重装,在安装向导里手动把路径改到 D 盘。

  1. 控制面板 → 程序和功能(Windows 10/11 也可以走 设置 → 应用 → 已安装的应用)选中目标软件,点卸载
  2. 重新运行安装包,选「自定义安装」或「高级」,不要点「快速安装」
  3. 把默认的 C:\Program Files (x86)\软件名 改成 D:\Program Files (x86)\软件名
  4. 装完在软件设置里检查插件目录、模板目录、素材库路径是否还指向 C 盘旧路径
  5. 少数软件强制装在 C 盘,这类不要强搬,回到方法二、方法三继续挤空间

搬完之后再跑一次方法一的命令,确认 C 盘确实降下来了。

方法五 对非核心文件做 NTFS 压缩并逐个验证

只给资源、文档、示例、语言包这类目录开 NTFS 压缩。.exe 和 .dll 本身已经是压缩过的,再压收益很小,还可能拖慢启动。

  1. 右键目标目录 → 属性 → 常规 → 高级 → 勾选「压缩内容以便节省磁盘空间」→ 确定 → 应用到子文件夹
  2. 或者用命令行
代码语言:cmd
复制
compact /c /s:"C:\Program Files (x86)\软件名\resources"
  1. 只压文本、图片、示例、语言包目录;数据库文件、.exe、.dll 和正在被软件读写的目录不要压
  2. 压缩后逐个打开常用软件,确认能启动、能打开最近文件、能正常保存
  3. 出问题就回滚:compact /u /s:目录,或在同一个属性窗口取消勾选压缩

NTFS 压缩对文本和图片的压缩率通常在 20% 到 50%,对已经打包过的安装包几乎没有效果。

不适用的情况与常见问题

下面几种情况不适合直接套上面的流程。

  • 软件正在跑批量任务或长时间挂机,先退出再做,否则会碰到被占用的文件
  • 目录提示被系统或其他进程占用时,先把占用排除掉,再考虑重命名或删除
  • 装在服务器上的业务软件,搬盘前先确认它有没有把安装路径写进配置文件
  • 20% 到 50% 只是文本和图片的经验区间,具体收益随目录内容变化,拿不准就先挑一个子目录试

整个 Program Files (x86) 能一起开 NTFS 压缩吗,压完软件还能正常打开吗?

不建议。整个目录压下去,正在读写的 .exe、.dll 会被一起压进去,启动变慢甚至报错。只压 resources、samples 这类只读资源目录,压完逐个打开软件验证。

Program Files 和 Program Files (x86) 加起来占 80 GB 正常吗,删哪个安全?

装了设计软件、游戏、开发工具的机器,80 GB 不算离谱。两个文件夹都不能删,删了对应的软件全部失效。要减只能按方法二、方法三清缓存和旧版本残留,再把大软件搬到 D 盘。

删旧版本目录提示拒绝访问 0x80070005 怎么办?

这个码是权限不足。用管理员身份打开 PowerShell,先接管再授权:

代码语言:cmd
复制
takeown /f "目录路径" /r /d y
icacls "目录路径" /grant administrators:F /t

之后就能删或重命名了。

用 PowerShell 统计目录大小卡住不动,是哪里出了问题?

多半是碰到了没有权限的子目录,或者目录里有正在被占用的文件。按 Ctrl+C 中断,确认命令里带了 -ErrorAction SilentlyContinue,再单独对某个子目录跑一次缩小范围。

软件从 C 盘搬到 D 盘后报找不到文件,怎么恢复?

先看报错里缺的是哪个路径,多数是插件目录或素材库还指向 C 盘旧路径。在软件设置里把路径改到新位置;改不了就卸载重装一次,安装时把路径写对。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 为什么会这样
  • 方法一 用 PowerShell 查清 x86 里谁最占空间
  • 方法二 清掉可再生的缓存、日志和更新包
  • 方法三 删掉同一个软件的多版本残留目录
  • 方法四 把大软件卸载后重装到其他盘
  • 方法五 对非核心文件做 NTFS 压缩并逐个验证
  • 不适用的情况与常见问题
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档