ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Windows C盘清理完整指南:从临时文件到分区扩容的实操方案

Windows C盘清理完整指南:从临时文件到分区扩容的实操方案 一段时间不清理 C 盘Windows 10 或 Windows 11 很容易出现“C 盘变红”的情况。系统盘空间不足不只是看着难受还会引发软件无法更新、休眠失败、虚拟内存不足、甚至系统卡顿。很多人第一反应是装一个清理软件结果发现有的工具本身就是广告软件有的越清理问题越多。实际上C 盘清理需要按顺序处理四类内容临时文件、系统缓存、用户软件数据、磁盘分区布局。顺序对了清理才有效果。这篇文章会带着你从空间分析开始再到系统自带清理功能、命令行清理、应用缓存迁移、磁盘扩容最后给出常见问题的排查思路。全程以 Windows 10 和 Windows 11 为主所有操作都以不删除个人文档、不破坏系统功能为前提。学完之后你可以自己判断哪些文件能清、哪些工具能用、哪些情况下应该止损而不是继续乱删。1. 清理 C 盘前先搞清楚空间被谁占用了很多清理动作失败是因为没有先确认“空间去了哪里”。盲目删除 Windows 目录下的文件可能出现刚清完几个 GB系统更新一次又满了甚至直接导致系统异常。正确顺序是先做空间分析再决定清理对象。1.1 先用系统“存储”做一轮初步判断Windows 10 和 Windows 11 自带的“存储”功能已经能给出比较清晰的占用分布。打开方式按Win I打开“设置”。进入“系统” - “存储”。在“管理存储设置”里可以看到临时文件、应用、系统与保留等分类。这里的数字不一定精确但能快速判断大头是什么。如果是“临时文件”占几 GB清理起来没有压力如果是“应用和功能”占了几十 GB说明大量软件安装在 C 盘后面要考虑迁移如果是“系统与保留”异常大就要看休眠文件、虚拟内存、系统还原点和 WinSxS。存储页面还提供了“清理建议”可以一键清理临时文件、回收站、下载文件夹等。第一次使用可以放心点这些项目基本不会导致系统崩溃。1.2 用 WizTree 或 PowerShell 定位大文件和目录存储设置能看趋势但找不到具体是哪个文件夹把空间吃满。这时候需要专业磁盘分析工具。我常用的两个工具是 WizTree 和 WinDirStat。WizTree读取 NTFS 的 MFT 和 USN Journal扫描速度极快几十 GB 的磁盘几秒钟出结果。WinDirStat通过逐层遍历目录统计结果直观但大磁盘扫描很慢。这两个工具都只是“只读分析”不会自动删除文件。用它们扫描 C 盘后按文件大小排序就能看到C:\Users\用户名\AppData\Local\Temp是否异常大。C:\Windows\SoftwareDistribution\Download是否残留大量更新包。C:\hiberfil.sys是否存在。某个应用的数据目录是否膨胀到几十 GB。如果不想安装工具也可以用 PowerShell 脚本统计某个目录的所有文件大小。下面是一个统计AppData\Local下各子目录占用空间的脚本实际使用时替换路径即可。$target $env:LOCALAPPDATA Get-ChildItem $target -Directory -Force -ErrorAction SilentlyContinue | ForEach-Object { $sum (Get-ChildItem $_.FullName -Recurse -Force -File -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum [PSCustomObject]{ Path $_.FullName SizeMB [math]::Round($sum / 1MB, 1) } } | Sort-Object SizeMB -Descending | Select-Object -First 10脚本会输出占用空间前 10 的子目录方便定位缓存大头。第一次跑这种递归统计时Windows Defender 或应用占用文件会导致部分文件读取报错这属于正常现象可以用-ErrorAction SilentlyContinue忽略。1.3 先认识 C 盘常见占用清理时才会有边界分析完之后对照下表确认哪些目录能清、用哪种方式清。这张表也适合打印出来作为日常维护速查。路径或文件内容说明是否可清理建议方式C:\Users\用户名\AppData\Local\Temp当前用户临时文件可清理删除该目录下文件和子目录C:\Windows\Temp系统临时文件可清理需要管理员权限C:\Windows\SoftwareDistribution\DownloadWindows 更新下载缓存可清理先停止更新服务再删除C:\Windows.old旧系统文件可清理磁盘清理中的“以前的 Windows 安装”C:\hiberfil.sys休眠文件可清理用 powercfg /h off 关闭C:\pagefile.sys虚拟内存页面文件不建议直接删除通过虚拟内存设置迁移C:\System Volume Information系统还原点可清理部分vssadmin 删除旧还原点C:\Windows\WinSxSWindows 组件存储不可手动删除使用 DISM 清理C:\ProgramData\Microsoft\Windows\DeliveryOptimization传递优化缓存可清理在设置中清理或删除注意WinSxS 是 Windows 组件存储目录表面占用很大但里面包含大量硬链接。直接删除该目录下的 DLL 或组件文件会导致系统更新失败甚至无法开机。不要用资源管理器手动删除它。2. 系统自带清理通道比第三方工具更稳Windows 自带了两套完整的清理机制一套是图形化的“存储感知”和“磁盘清理”另一套是命令行通道。普通用户优先用前者只有遇到更新缓存、系统组件残留时才需要命令。2.1 开启存储感知并设置自动清理存储感知可以定期清理临时文件和回收站是适合长期开启的功能。开启步骤打开“设置” - “系统” - “存储”。打开“存储感知”点击“配置存储感知或立即运行”。把“运行存储感知”设置为“每周”。勾选“删除临时文件”以及“回收站”相关项目。这样 Windows 会自动清理部分临时内容。它不会清理应用缓存也不负责释放休眠文件所以不能完全替代手动操作。2.2 cleanmgr 高级清理和 Windows 更新残留磁盘清理工具从 Windows 98 时代就有虽然界面老但兼容性最好。直接打开方式cleanmgr /d C:默认界面只会展示少量可清理项。要看到“Windows 更新清理”“以前的 Windows 安装”等项目需要先执行一次设置命令cleanmgr /sageset:65535执行后弹出的窗口可以勾选所有想要清理的类别。保存后下次直接用下面命令执行这次保存的清理配置cleanmgr /sagerun:65535如果C:\Windows\SoftwareDistribution\Download文件夹异常大说明 Windows 更新下载的安装包没有自动清除。正确清理方式如下:: 停掉 Windows Update 服务 net stop wuauserv :: 删除更新下载缓存 del /f /s /q C:\Windows\SoftwareDistribution\Download\*.* for /d %i in (C:\Windows\SoftwareDistribution\Download\*) do rd /s /q %i :: 重新启动 Windows Update 服务 net start wuauserv注意如果不停服务直接删除部分文件会被占用导致删不干净可能继续占用几个 GB。删除下载缓存不会影响已安装的更新只影响等待下载的补丁包系统后续会重新下载。2.3 用 DISM 清理组件存储 WinSxSWinSxS 是 Windows 系统更新后保留旧组件的目录删除不可行但可以通过 DISM 指令压缩。管理员身份打开命令提示符后运行Dism.exe /Online /Cleanup-Image /StartComponentCleanup如果 C 盘确实紧张并且确认不需要卸载当前的补丁更新可以追加/ResetBase参数Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase/ResetBase会把当前已安装的服务包标记为不可回滚释放更多空间。代价是之后无法通过控制面板卸载这些更新。个人电脑使用没有太大问题但公司电脑、服务器环境不建议轻易执行因为可能影响补丁回退策略。执行完后可以通过以下命令确认组件存储大小Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore3. 手动压缩这几个“看不见的大文件”C 盘里有些大文件在资源管理器中默认不可见但它们占用的空间非常大需要系统设置或命令来控制不能直接右键删除。3.1 休眠文件、虚拟内存页面文件与系统还原点休眠文件hiberfil.sys默认占用接近物理内存大小。如果物理内存是 32 GB这个文件可能占用 20 GB 以上。关闭休眠可以释放powercfg /h off关闭后C:\hiberfil.sys会自动删除等于释放了和内存大小相当的空间。副作用是“休眠”和“快速启动”都会失效。如果你平时用合盖睡眠而不是休眠可以接受这个损耗如果你依赖快速启动则不建议关闭。虚拟内存页面文件pagefile.sys一般等于物理内存的 1.5 倍左右。不要直接在资源管理器里删除它因为进程会持续占用。更稳妥的方式是把它从 C 盘移动到 D 盘右键“此电脑” - “属性”。进入“高级系统设置” - “性能”里的“设置”。切到“高级” - “虚拟内存” - “更改”。取消勾选“自动管理所有驱动器的分页文件大小”。选中 C 盘设置为“无分页文件”点击“设置”。选中 D 盘设置为“系统管理的大小”点击“设置”。确定并重启电脑。需要注意如果电脑只有一块机械硬盘且内存不大把页面文件放到 D 盘反而可能降低系统性能。这个操作更适合只有 C/D 两个分区、且 D 盘也是固态硬盘的电脑。系统还原点保存在C:\System Volume Information中也不能直接删除。用 vssadmin 命令清理旧还原点vssadmin delete shadows /forC: /oldest /quiet这条命令每次删除一个最旧的还原点。如果系统备份点多可以多执行几次或者先备份系统后再删除避免万一出现系统问题没有回溯点。3.2 用户 AppData 缓存和开发者工具缓存C:\Users\用户名\AppData\Local是最容易不知不觉涨到几十 GB 的目录。这里面既有浏览器缓存也有各种软件的临时数据。常见归属子目录来源清理建议Google\Chrome\User Data\Default\CacheChrome 缓存关闭浏览器后清理Microsoft\Windows\Explorer缩略图缓存可清理 thumbcache 文件DockerDocker Desktop 数据转移 vhdx 或手动 compactnpm-cachenpm 缓存用 npm config 修改pip\Cachepip 缓存用 pip config 修改Programs\Python应用安装数据使用官方卸载器PackagesUWP 应用数据在“应用”设置中清理一些没有出现在这里的软件比如微信、QQ、钉钉默认也会把聊天图片、文件缓存放在文档或 AppData 目录下。清理前一定要进入对应软件的“设置”查看存储位置优先做迁移而不是直接删文件。4. 用一份 BAT 清理脚本完成日常清理手动清理每个目录容易漏重复劳动也浪费时间。可以准备一个只包含系统级安全命令的 BAT 脚本每次磁盘变满时以管理员权限运行。下面给出脚本并按用途拆开解释。4.1 脚本内容与保存方法在任意目录新建文本文件把以下内容粘贴进去保存为C盘清理.bat。注意编码要选择 ANSI 或 GBK否则中文注释可能乱码。echo off setlocal enabledelayedexpansion echo echo C 盘安全清理脚本需要管理员权限 echo rem 1. 清理当前用户临时目录 if exist %temp% ( echo [1/5] 清理用户临时目录 del /f /s /q %temp%\* nul 2nul for /d %%i in (%temp%\*) do rd /s /q %%i nul 2nul ) rem 2. 清理系统临时目录 if exist %SystemRoot%\Temp ( echo [2/5] 清理系统临时目录 del /f /s /q %SystemRoot%\Temp\* nul 2nul for /d %%i in (%SystemRoot%\Temp\*) do rd /s /q %%i nul 2nul ) rem 3. 清理 Windows 更新下载缓存 net stop wuauserv nul 2nul if exist %SystemRoot%\SoftwareDistribution\Download ( echo [3/5] 清理 Windows 更新缓存 del /f /s /q %SystemRoot%\SoftwareDistribution\Download\* nul 2nul for /d %%i in (%SystemRoot%\SoftwareDistribution\Download\*) do rd /s /q %%i nul 2nul ) net start wuauserv nul 2nul rem 4. 清空回收站 echo [4/5] 清空回收站 PowerShell -Command Clear-RecycleBin -Force -ErrorAction SilentlyContinue rem 5. 清理缩略图缓存 echo [5/5] 清理缩略图缓存 del /f /s /q /a %LocalAppData%\Microsoft\Windows\Explorer\thumbcache_*.db nul 2nul echo echo 清理完成建议重启一次电脑。 echo pause使用方法右键 bat 文件选择“以管理员身份运行”。等待命令逐条执行不要中途关闭窗口。重启一次电脑确认空间释放。脚本只清理临时目录、更新缓存、回收站和缩略图不涉及用户文档、桌面文件、注册表也不会删除系统组件风险相对可控。执行过程中出现的“另一个程序正在使用此文件”提示会被2nul隐藏不影响整体结果。4.2 脚本的边界和注意事项这个脚本不是万能的。它不会清理微信聊天记录、浏览器离线数据、Docker 镜像、Android SDK 缓存也不会清理大型游戏素材。它只是把系统层最容易残留的临时文件清掉。有几种情况不建议运行这个脚本当前用户正在跑长时间任务比如渲染、虚拟机、大数据计算可能因为临时文件被删而报错。使用了企业级杀毒软件删除 Windows 更新缓存可能触发告警。需要保留近期系统日志用于排查问题时不要执行日志清理类命令。比较稳妥的做法是在确认“没有重要任务正在执行”的黑窗口时段运行并且每次运行后记录释放空间大小。比如运行前用fsutil volume diskfree c:记录剩余空间运行后再查一次对比差值。fsutil volume diskfree c:输出结果一般包含可用字节数。这个命令本身不会被脚本中的清理操作影响可以在任意阶段使用。5. 应用缓存迁移到 D 盘从源头减少 C 盘占用清理只是释放已有空间迁移才能让空间占用不再反弹。下面这些做法适合所有习惯把软件安装在 C 盘的场景。5.1 微信、QQ、浏览器缓存迁移微信 PC 版默认把聊天记录、接收文件和缓存放在C:\Users\用户名\Documents\WeChat Files下。长期使用很容易超过 10 GB甚至 50 GB。迁移方式打开微信进入“设置” - “文件管理”。点击“更改”选择D:\WeChat Files。让微信自动迁移数据过程不要关机。迁移完成后再删除 C 盘旧目录。QQ 的迁移路径类似QQ 菜单 - 设置 - 文件管理 - 更改目录。浏览器缓存方面Chrome 和 Edge 本身不提供“把缓存目录改到 D 盘”的图形设置。如果 C 盘空间确实紧张可以给缓存目录创建目录符号链接但不建议新手操作因为版本更新或杀毒软件可能误判。更安全的方法是定期清理浏览器缓存或者用浏览器自带的数据清理入口。缓存删了之后只是首次打开网站慢一些不会留下实质问题。5.2 npm、pip、Maven 缓存重定向开发者电脑的 C 盘往往被工具链缓存占满。npm 默认缓存目录是C:\Users\用户名\AppData\Local\npm-cache可以迁移到 D 盘npm config get cache npm config set cache D:\npm-cachepip 的缓存目录迁移方式pip config set global.cache-dir D:\pip-cacheMaven 的本地仓库位置在settings.xml中配置。找到conf/settings.xml修改localRepositorylocalRepositoryD:\maven-repo/localRepository这类缓存迁移之后命令行工具还会继续使用不会影响依赖下载速度。注意迁移旧缓存时可以直接把原目录复制到新位置复制完成后原目录可删除也可以不复制让工具重新下载。6. C 盘扩容只有同一个磁盘的空间才能扩展过来即使清理和迁移都做了C 盘还是有满的可能比如安装的大型软件太多。此时需要考虑扩容。扩容的核心原则是只能从同一块硬盘的相邻分区把未使用空间转移给 C 盘。跨磁盘扩容在 Windows 图形界面中无法直接实现。6.1 先弄清楚分区结构和恢复分区按下Win X选“磁盘管理”可以看到 C 盘、D 盘以及是否存在恢复分区。常见的分区布局有三种布局能否直接用磁盘管理扩容处理思路C 盘右侧紧挨 D 盘D 盘可删除可以备份 D 盘数据后删除 D 盘扩展 C 盘再新建 D 分区C 盘与 D 盘之间有恢复分区直接不行用第三方分区工具把恢复分区移到末尾再合并空间C 盘与 D 盘位于不同硬盘不行只能把整个软件数据迁移或重新规划磁盘数据很多人的磁盘布局是“C 盘 恢复分区 D 盘”中间隔着一个恢复分区。在磁盘管理中C 盘的“扩展卷”选项是灰色或不可用的因为扩展卷只能使用相邻的未分配空间而恢复分区是中间障碍。6.2 使用磁盘管理扩展分区如果满足“C 盘右侧相邻空间是未分配的”可以按以下步骤操作备份 D 盘数据到移动硬盘或其它磁盘。在磁盘管理里右键 D 盘选择“删除卷”。删除后出现“未分配”空间。右键 C 盘选择“扩展卷”。把需要的大小分配给 C 盘。剩下的未分配空间新建为 D 盘。这个操作风险较高。删除卷会清空整个 D 盘任何一次误操作或断电都可能造成数据丢失。扩容前必须确认备份完整、不需要 D 盘旧文件、并且已经退出 D 盘所有文件的打开状态。6.3 使用第三方分区工具处理复杂分区如果分区中间有恢复分区或者需要把 D 盘的一部分空间移动到 C 盘磁盘管理已经不够用这时可以考虑第三方分区工具。常见的包括 DiskGenius、傲梅分区助手等。以 DiskGenius 为例的通用流程备份所有重要数据。启动 DiskGenius右键目标分区选择“调整分区大小”。把 D 盘左侧未使用空间缩小在 C 盘右侧生成连续未分配空间。如果恢复分区挡在中间需要先把它移动到磁盘末尾。扩展 C 盘到未分配空间。提交操作并等待完成期间不要断电。这类操作会修改分区表风险远高于普通文件清理。恢复分区移动失败可能导致 Windows 恢复功能失效极端情况下可能导致引导损坏。对普通用户我的建议是如果能通过清理和迁移释放 30 GB 以上优先不扩容。扩容前制作系统启动 U 盘保证电脑进不去系统时还能备份和导出数据。不要频繁调整分区固态硬盘调整分区本身也有磨损和出错概率。7. 常见问题的定位与处理从真实搜索中梳理出的高频场景下面的问题都是从真实搜索行为中整理出来的高频场景。如果清理过程中遇到类似情况可以直接对照处理。7.1 高频问题对照表用户问题常见原因处理思路C 盘 Administrator 目录很大但找不到文件隐藏文件、AppData 子目录大、回收站残留显示隐藏项目用 WizTree 扫描 AppDataC 盘和 D 盘中间有恢复分区怎样合并 C/D恢复分区阻断扩展卷备份后用分区工具移动恢复分区到末尾修改 Windows 11 账户名后 C 盘用户文件夹名字不变用户路径创建后不会自动随显示名变化不建议直接改名可新建本地用户并迁移数据如何把 D 盘空间分给 C 盘需要同一磁盘和相邻未分配空间分区工具调整操作前备份清理软件图标删不掉启动项残留或文件被占用禁用启动项结束进程后删除目录C 盘突然满了找不到原因更新缓存、浏览器缓存、应用下载目录按“临时文件 - 系统缓存 - 应用缓存 - 用户文件”逐层排查7.2 C 盘下 Administrator 目录占用大却找不到文件C:\Users\Administrator是系统用户目录里面多个子目录默认隐藏。如果“存储”里显示这个大目录占了几十 GB大概率在AppData\Local或AppData\Roaming中。可以先在资源管理器中打开“查看” - “显示” - “隐藏的项目”再进入C:\Users\Administrator\AppData\Local按下Ctrl A查看体积。更准确的做法是用 WizTree 扫一遍 C 盘直接按大小排序。常见的单点占用包括Docker Desktop 的docker_data.vhdx可能 20 至 60 GB。Android Studio 的 SDK 和模拟器。C:\Users\Administrator\.gradle或.m2仓库。AppData\Local\Programs中安装的大型软件。各种国产软件的崩溃日志和缓存。先定位到具体目录再考虑迁移或清理不要因为看到了Administrator文件夹就觉得是异常文件。7.3 清理后不重启导致空间没释放删除大量文件后很多进程仍然占用着已删除文件的句柄。Windows 会出现“明明删了 10 GB磁盘可用空间还是没变化”的现象。此时可以先打开任务管理器结束 explorer 进程并重新启动taskkill /f /im explorer.exe start explorer.exe如果空间还没有恢复重启电脑是最有效的办法。一般重启之后临时文件释放和句柄清理都会完成。8. 日常维护与最后建议C 盘清理不是一次性工作。保持系统盘健康需要一套简单可执行的维护节奏而不是等变红后再开电脑“急救”。8.1 每月的 C 盘检查清单可以把下面内容做成一个固定动作每月执行一次打开“存储感知”确认自动清理已开启。用cleanmgr /sagerun:65535执行一次磁盘清理。用 WizTree 扫一遍 C 盘看哪个目录环比增长最多。检查微信、QQ、钉钉的文件存储位置是否仍指向 C 盘。检查 npm、pip、Maven 缓存是否迁移到 D 盘。查看C:\Windows\Temp和%temp%是否积累超过 1 GB。确认回收站设置没有让 C 盘承担过多分区文件。如果使用 Windows 更新频繁每月执行一次 DISM 组件清理。这套清单做完C 盘空间基本不会在三个月内再次告急。8.2 哪些电脑不建议随意清理和扩容不是所有电脑都适合按上面的流程操作。下面几种场景需要额外谨慎工作电脑特别是公司统一管理和加密的电脑清理前先确认 IT 策略是否允许修改分区。Windows Server 环境不能直接关闭休眠、清空所有日志式地清理必须评估业务影响。磁盘有 BitLocker 加密的电脑分区操作前要暂停保护否则可能导致解锁失败。系统盘空间紧张但数据无备份的电脑不要立即执行删除卷或分区调整先备份。如果你只是普通家庭用户且 C 盘满了但 D 盘还有很多空间优先迁移应用数据其次考虑扩容。迁移属于软操作失败后最多是软件重装扩容属于硬操作失败后可能面临数据丢失。两者优先级要分清。C 盘清理的本质是让临时文件回到可控规模让用户数据回到独立分区让系统保留合理的回滚余地。掌握了这套思路后你会发现那些号称“一键加速”的工具根本没有必要因为 Windows 自带的命令和功能加上定期维护习惯已经足够解决 90% 的空间问题。
返回列表