C盘又红了?开机右下角弹出“磁盘空间不足”的时候,别急着装那些什么C盘清理大师、垃圾清理全家桶,先冷静一下。绝大多数情况下,Windows 11自己的临时文件清理加上几条命令,就已经能解决大半问题。这篇我就把我自己平时在 Windows 11 上做临时文件清理的完整思路、实操步骤、踩过的坑一次说完,从系统自带工具到命令行、批处理脚本,再到大文件深挖,一次讲透。
这篇内容适合谁?就是那些天天被 C 盘空间逼疯、看到“临时文件”四个字不知道该不该删、或者想写一个一键清理脚本但又怕把系统搞坏的普通用户和技术爱好者。全文会讲清楚“哪些能删、哪些不能删、用什么工具删、删完空间去哪里了”,跟着做基本不会出大问题。
1. 临时文件都躲在哪里,为什么不能闭眼乱删
很多朋友一清理就打开“此电脑”挨个翻目录,看到 Temp 文件夹就感觉里面有宝,其实姿势不完整。Windows 11 的临时文件并不是只有一个地方,而是分散在整个系统的几个固定角落,只有全部摸清楚,清理才有意义。
1.1 Windows 11 临时文件的几大藏身处
先说最常见的几个位置,这也是我平时清理时最先下手的地方:
- 用户临时目录:
%TEMP%或者C:\Users\你的用户名\AppData\Local\Temp。这是当前登录用户运行软件时产生的临时文件,比如压缩包解压的中间文件、安装程序的暂存文件、浏览器下载的残留片段等。大多数软件运行期产生的垃圾都在这。 - 系统临时目录:
C:\Windows\Temp。这个目录是 Windows 系统组件和一些服务运行时的临时文件,清理它需要管理员权限。 - 预读取文件夹:
C:\Windows\Prefetch,存放的是系统启动和应用启动的预读信息。有一些老教程会让你清空它来“提升启动速度”,但 Windows 10/11 下预读文件对启动速度的贡献越来越小,清不清影响不大,反而是频繁清空后系统需要重新建立预读索引,短时间可能更卡。 - 回收站:这个不算严格意义的临时文件,但很多人清理空间时第一个想到的就是它。
- Windows 更新缓存:
C:\Windows\SoftwareDistribution\Download,系统更新下载的安装包缓存,更新装完之后这些文件就没有用了。 - 缩略图缓存:
C:\Users\你的用户名\AppData\Local\Microsoft\Windows\Explorer,图片和视频文件的缩略图预览缓存,清理后下次打开文件夹时会重新生成,但能腾出一部分空间。 - 第三方软件的缓存:浏览器缓存、视频软件缓存、开发工具缓存,这些往往占的空间比系统临时文件更大,后面我会单独讲。
1.2 临时文件为什么这么容易“长胖”
你可能会有疑问,临时文件不就应该很小吗?为什么 C 盘动不动就几十个 GB 的临时文件?这里有个很现实的原因:软件卸载不干净和系统更新残留。
举个例子,某个大型软件的安装包可能有 2GB,安装时它会先把安装包释放到%TEMP%里,解压出 5GB 的临时安装资源,正常来说安装完成后应该自动清理。但 Windows 11 下经常遇到的情况是安装程序异常退出、强制关机、断电等意外,导致临时文件没有走完“自动清理”这一步,于是它们就被永久留在了临时目录里。日积月累,这个目录就变成了一个超大的垃圾回收站。
另外,Windows 11 的系统更新机制也喜欢堆积。每次功能更新后,旧版本的组件文件会被保留一段时间方便你回滚,C:\Windows\WinSxS里的组件库会越来越大,这部分不能直接当临时文件删,但可以通过系统工具安全清理,后文会有专门说明。
1.3 动手前必须搞懂的删与不删原则
我在帮朋友清理电脑时经常遇到一个问题:他们手一快把整个 Temp 目录里的所有文件全选了,然后右键删除,结果提示一堆“文件正在被使用,无法删除”,或者干脆把正在运行的软件缓存删了,导致软件出问题。所以动手之前,有几个原则必须记住:
- 正在被占用的文件不要强行删。删不掉不是坏事,说明有程序正在用它。不用理会那些“正在被使用”的提示,跳过它们即可。
- 不要直接删除整个目录,而是删除目录里的内容。很多人想省事,直接把
Temp文件夹删了,然后系统开始报各种奇怪问题。正确操作是进入目录,只删里面的文件和子文件夹。 - 不要在程序开着的时候盲目清理 AppData 下的缓存。像微信、QQ、浏览器这类正在运行的软件,你清了它的缓存目录,轻则重新加载变慢,重则直接闪退。
- WinSxS、System32 这类系统核心目录,绝对不要手动删文件。里面随便删掉一个系统组件就可能导致系统无法启动。
只要把握住这几条,清理临时文件就是一件风险极低的事情。
2. 系统自带的清理方案:先把现成的饭吃了
很多人一提到清理临时文件就想到下载第三方软件,其实 Windows 11 自带的清理工具已经足够应付绝大多数场景。先别急着装那些“一键清理”工具,自带工具既安全又不需要额外安装,推荐优先做完一轮。
2.1 设置里的存储管理面板
Windows 11 把存储管理的入口做得比 Windows 10 更直观。打开方式很直接:
- 点击“开始”按钮,选择“设置”。
- 进入“系统”,然后点击左侧的“存储”。
- 在“存储管理”区域,你会看到硬盘空间使用情况的统计,点击“临时文件”。
这个界面会把临时文件按类型列出来,包括“传递优化文件”、“Windows 更新清理”、“缩略图”、“回收站”等。每一项都标注了占用的空间大小,你可以按需勾选,然后点击“删除”按钮。
这里有一个细节值得注意:界面上的“临时文件”这个大类,并不是所有文件都会被系统清理干净。它更多是给普通用户一个快速入口,清理策略相对保守。如果你追求“颗粒度”清理,还得继续往下看。
2.2 磁盘清理工具:老将依然能打
磁盘清理工具(cleanmgr)是 Windows 系统里最老牌的清理工具,Windows 11 依然内置。启动方式是在“运行”框(Win+R)输入cleanmgr,回车。
第一次打开时,它会让你选择要清理的磁盘,通常选 C 盘。清理扫描完成后,会列出“可以清理的文件”,包括“Windows 更新清理”、“回收站”、“临时文件”、“缩略图”等选项。这里有个关键步骤:点击左下角的“清理系统文件”按钮,它会再扫描一次系统级别的文件,此时才会出现“Windows 更新清理”、“设备驱动程序包”这类系统级清理选项。
这个工具最大的优点是安全,系统会在后台判断哪些文件是可以释放的,不会让你误删正在使用的文件。如果只是日常清理,我一般建议先用它过一遍,能清出几个 GB 到十几个 GB 的空间。
2.3 开启存储感知,让系统自动清理
如果你不想每次手动操作,Windows 11 的“存储感知”功能可以自动完成一部分清理。在“设置 → 系统 → 存储”页面,打开“存储感知”开关,然后点击进入设置项。
这里可以配置“存储感知的运行频率”(每天、每周、每月或磁盘空间不足时),以及“删除我的应用未在使用的临时文件”等选项。我个人的建议是:
- 运行频率选“磁盘空间不足时”,避免每次自动清太频繁影响性能。
- 把“删除我的应用未在使用的临时文件”打开,系统会在合适时机自动清理
%TEMP%里的文件。
存储感知的本质就是自动化的临时文件清理,适合懒人,也适合不太熟悉系统的普通用户。但对于追求极致空间的人来说,系统自动清理通常偏保守,还得配合下一节的手动方案。
3. 命令行与 bat 脚本:把清理变成一件自动化的事
系统自带工具虽然安全,但每次都要点好几个界面,还要等它扫描,效率太低。真正好用的方式是命令行和批处理脚本。这里我会给出一个日常清理用的 bat 脚本,以及一个结合搜索热词的“游戏性能优化 + 临时文件清理”脚本。两个脚本都经过实测,但请务必以管理员身份运行。
3.1 cmd 里的基本清理命令
先熟悉几个基础命令,理解了它,脚本里的内容对你来说就没有秘密了:
del /q /f /s:删除文件。/q 表示安静模式,不询问确认;/f 表示强制删除只读文件;/s 表示从当前目录及所有子目录中删除匹配文件。rd /s /q:强制删除整个目录。/s 表示同时删除该目录下的所有子目录和文件;/q 是安静模式,不会弹确认。>nul 2>&1:把命令执行过程中的提示信息(包括错误输出)全部屏蔽,让脚本界面干净,不因为权限不足的报错而中断。
这几个命令组合起来,就可以写一个简单的清理脚本。比如:
@echo off echo 正在清理用户临时文件... del /q /f /s "%TEMP%\*" >nul 2>&1 echo 正在清理系统临时文件... del /q /f /s "C:\Windows\Temp\*" >nul 2>&1 rd /s /q "%TEMP%" >nul 2>&1 md "%TEMP%" echo 清理完成! pause注意最后那两行,rd /s /q "%TEMP%"把整个临时目录删除,再通过md "%TEMP%"重建它。这是清理临时目录的一个常用技巧,可以有效绕开“目录内部文件占用”导致的删除失败。但是这样做的前提是当前没有太多软件在调用这个目录,如果正在运行大型软件,建议先退出再执行。
3.2 一份可以直接保存的日常清理脚本
下面这个脚本是我日常工作里常用的完整版,综合了临时文件清理、回收站清理、Windows 更新缓存清理、缩略图缓存清理等多个维度。你把它复制到记事本里,保存为clean_tmp.bat,然后右键“以管理员身份运行”即可。
@echo off title Windows 11 临时文件清理脚本 echo ============================================= echo Windows 11 临时文件清理脚本 echo 请确保以管理员身份运行 echo ============================================= echo. echo [1/5] 正在清理用户临时目录... del /q /f /s "%TEMP%\*" >nul 2>&1 echo [2/5] 正在清理系统临时目录... del /q /f /s "C:\Windows\Temp\*" >nul 2>&1 echo [3/5] 正在清理Windows更新下载缓存... del /q /f /s "C:\Windows\SoftwareDistribution\Download\*" >nul 2>&1 echo [4/5] 正在清理缩略图缓存... del /q /f /s "%LOCALAPPDATA%\Microsoft\Windows\Explorer\thumbcache_*.db" >nul 2>&1 echo [5/5] 正在清空回收站... powershell -command "Clear-RecycleBin -Force -ErrorAction SilentlyContinue" >nul 2>&1 echo. echo 全部清理完成! pause这里有几个细节要提醒你:
- 脚本中用了
>nul 2>&1把系统提示全部隐藏,所以哪怕有文件被占用删不掉,也不会看到报错刷屏。但这同时意味着你无法直观知道有没有删除失败。如果想看哪些删不掉,可以把这串符号去掉,让系统显示错误信息。 Clear-RecycleBin是通过 PowerShell 命令清空回收站,比直接删C:\$Recycle.Bin文件夹安全,那玩意直接删权限校验很麻烦。- 脚本执行完后不会让你系统变快,它唯一的使命是把空间还给你。如果删完空间没明显增加,说明你的临时文件本来就不多,真正的“大块头”在别处,后面第 4 节会讲。
3.3 结合热词的“游戏性能优化 + 清理”脚本
搜索热词里有一个问题很典型:“请帮我生成一段 bat 批处理代码,用于优化 windows 系统的游戏性能,包括关闭不必要的后台服务、调整电源模式为高性能、优化网络延迟、清理系统临时文件”。这个需求本质上是把“性能优化”和“临时文件清理”合二为一。我先给出代码,再逐段解释,因为这里面的坑不少。
@echo off title Windows 游戏性能优化脚本 echo 请以管理员身份运行本脚本 echo. echo [步骤 1/5] 关闭部分后台服务(可按需自行增删) for %%s in (DiagTrack dmwappushservice WSearch Fax XblAuthManager XblGameSave XboxNetApiSvc) do ( sc config "%%s" start= disabled >nul 2>&1 net stop "%%s" >nul 2>&1 ) echo [步骤 2/5] 调整电源模式为高性能 powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c echo [步骤 3/5] 清理DNS缓存 ipconfig /flushdns >nul 2>&1 echo [步骤 4/5] 重置Winsock目录 netsh winsock reset >nul 2>&1 echo [步骤 5/5] 清理系统临时文件 del /q /f /s "%TEMP%\*" >nul 2>&1 del /q /f /s "C:\Windows\Temp\*" >nul 2>&1 echo. echo 优化执行完成,部分设置重启后生效。 pause逐段说明:
- 第一段用
sc config和net stop把几个非关键服务禁用了。列表里的服务包括:DiagTrack(诊断跟踪服务,也就是遥测服务)、dmwappushservice(设备元数据推送)、WSearch(Windows 搜索索引)、Fax(传真服务)、Xbox 相关服务(XblAuthManager、XblGameSave、XboxNetApiSvc)。这里有个重要提醒:这些服务里 WSearch 是双刃剑,禁用后 C 盘文件搜索会变慢,如果你依赖系统搜索,建议把它从列表里去掉。Xbox 服务只影响 Xbox 相关功能,普通游戏玩家禁掉没影响。 - 第二段是
powercfg /setactive,切换到高性能电源计划。8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c是 Windows 内置“高性能”电源计划的 GUID。切换后 CPU 不会再频繁降频,游戏帧率会更稳定,代价是笔记本耗电更快、风扇声音更大。 - 第三、四段是用来处理网络方面的常见问题。
ipconfig /flushdns清空 DNS 缓存,netsh winsock reset重置 Winsock 目录,有时能解决网络延迟异常的问题,但注意重置后通常需要重启系统才能完全生效。 - 第五段就是临时文件清理。
使用这个脚本前,强烈建议用记事本打开看看,根据自己电脑的实际情况删掉不需要的服务项。不要盲目禁用服务,尤其不要在笔记本上盲目关掉一堆服务后第二天发现指纹识别失灵、蓝牙鼠标连不上,这类问题基本都是“一刀切”禁服务造成的。
3.4 让清理脚本按计划自动运行
脚本写好了,如果每次都手动右键管理员运行,还是一样麻烦。Windows 11 的任务计划程序可以帮你定时执行脚本。
- 在“运行”框(Win+R)输入
taskschd.msc,打开“任务计划程序”。 - 点右侧的“创建基本任务”,名称填“临时文件清理”,点击下一步。
- 触发器选择“每周”,设置一个你方便的时间,比如每周五晚上 10 点。
- 操作选择“启动程序”,在“程序或脚本”框里选择你保存的
clean_tmp.bat。 - 点击“完成”前,勾选“单击完成时,打开此任务属性的对话框”,然后在任务属性里勾选“使用最高权限运行”。
这样,每周系统都会自动执行一次清理脚本。需要注意:任务计划程序在触发时并不会真的弹出命令行窗口(如果你没设置“显示窗口”的话),你只需要定期看一下 C 盘剩余空间就行。如果脚本运行失败,可以在任务计划程序的“历史记录”里查看幕后信息。
4. 被忽略的“大块头”:深度清理换一种思路
日常临时文件清理完,可能只腾出几个 G,但 C 盘还是红,这时候就得往更深的层面找。
4.1 WinSxS 组件存储:能清,但绝不是“删文件夹”
搜索关键词里有个高频问题:winsxs可以清理吗。先说结论:WinSxS 文件夹可以清理,但绝对不是让你直接右键删除整个文件夹。
C:\Windows\WinSxS是 Windows 组件存储目录,系统更新、功能装卸、系统修复都要靠它。微软官方的说法是:“不要删除 WinSxS 文件夹,Windows 没有它就无法正常工作”。但是目录里的确存在大量旧版本的系统组件文件,这些是可以安全清理的。
正确清理方式是用 DISM 命令:
dism /Online /Cleanup-Image /AnalyzeComponentStore先分析一下组件存储的实际可清理空间,输出结果会告诉你“建议清理”。如果系统确实建议清理,再执行:
dism /Online /Cleanup-Image /StartComponentCleanup这条命令会删掉旧版本组件文件,腾出几个 G 到十几个 G 的空间。整个过程比较慢,耐心等待,不要强制关机。这是目前清理 WinSxS 最安全、最正规的途径。
4.2 Windows Update 缓存和 Windows.old
C:\Windows\SoftwareDistribution\Download这个目录我之前在脚本里已经提到了,它专门存储 Windows 更新下载的安装包。如果你的 C 盘空间突然变少,很可能就是系统刚执行过大版本更新,这里躺着好几个 G 的安装包。
如果你的系统是升级安装上来的(比如从 Windows 10 升级到 Windows 11),C 盘可能还有一个Windows.old文件夹。它保存的是旧系统的完整备份,方便你在 10 天内回滚到旧系统。如果你确认不需要回滚,这个文件夹可以放心删除,但不要直接在资源管理器里右键删除(文件多、权限复杂,容易删到一半报错)。推荐用磁盘清理工具清:
- 打开
cleanmgr,选择 C 盘。 - 点击“清理系统文件”。
- 勾选“以前的 Windows 安装”选项,点击确定。
这样删除既干净又不会卡在半路。
4.3 休眠文件、系统还原点和页面文件
这三个家伙是 C 盘空间的隐形大户,平时在资源管理器里根本看不到。
- 休眠文件
hiberfil.sys:如果你几乎不用睡眠/休眠功能,可以考虑关闭休眠来释放空间。管理员运行命令提示符,输入powercfg /h off,即可关闭休眠并删除hiberfil.sys,这一下能释放几个 G 到十几个 G。代价是“开始 → 电源”菜单里会少了“休眠”选项。如果你想恢复,执行powercfg /h on即可。 - 系统还原点:系统保护功能会定期为 C 盘创建还原点,每个还原点大小视磁盘使用量而定。如果空间紧张,可以在“设置 → 系统 → 系统信息 → 系统保护”中调整还原点的磁盘使用上限,或者删除旧还原点。要注意,删光了还原点就失去了“后悔药”。
- 页面文件
pagefile.sys:这个文件不建议关闭,它相当于内存不够时的备用仓库。如果内存足够大(比如 32GB 以上),可以把它从 C 盘挪到其他盘,或者限制大小。普通用户不建议动,省几个 G 的代价是系统稳定性下降。
4.4 第三方软件缓存:真正的“空间大户”
很多时候,C 盘空间的元凶不是系统临时文件,而是各种第三方软件的缓存。浏览器缓存放几 GB、微信和 QQ 的聊天图片文件夹放十几 GB、Adobe 系列的缓存放几 GB,加起来比系统临时文件多得多。
- 浏览器缓存:Chrome/Edge 的缓存目录在
%LOCALAPPDATA%\Google\Chrome\User Data\Default\Cache,或者对应 Edge 的相同路径。直接在浏览器设置里“清除浏览数据”,选“缓存的图片和文件”即可。 - 微信/QQ 缓存:微信默认把聊天文件存到
C:\Users\你的用户名\Documents\WeChat Files,QQ 在C:\Users\你的用户名\Documents\Tencent Files。你可以把文件存储路径改到 D 盘,同时用软件自带的“清理存储空间”功能清一次旧文件。 - 开发工具缓存:如果你装了 npm、Gradle、Maven 这类工具,缓存目录也很惊人。比如 npm 的
%LOCALAPPDATA%\npm-cache,清理命令是npm cache clean --force;Gradle 的%USERPROFILE%\.gradle\caches,这个目录动辄十几 G,可以手动删除后再让 Gradle 重新下载依赖。
清理第三方软件的缓存时需要谨慎,特别是聊天软件,删除前务必先确认你不需要那些历史图片和文件。我的经验是:先清系统临时文件,再用 WizTree 之类的大文件扫描工具定位真正的空间大户,最后再决定要不要动第三方缓存。
5. 常见问题与排查技巧实录
清理过程不可能一帆风顺,下面是我自己实际遇到过的几个典型问题,以及对应的排查思路。
5.1 提示“文件正在被使用”无法删除
这是清理临时文件时最常看到的提示。原因很简单:某个后台进程正在调用这个文件,系统出于保护机制不允许删除。你可以打开“任务管理器 → 性能 → 打开资源监视器”,在“CPU”选项卡的“关联的句柄”搜索框里输入文件名称,就能定位到是哪个进程占用了它。处理办法有三条:
- 如果是无关紧要的程序(如残留的安装服务),直接结束进程后再删。
- 如果不确定进程作用,先跳过,重启系统后再删,重启后大部分占用都会被释放。
- 如果重启后依然删不掉,把文件路径记下来搜索一下,确认是否是系统组件,是的话就放弃手动删除。
5.2 清理完 C 盘还是红,问题到底在哪
清理脚本跑完了,临时文件也删了,C 盘还是红色,说明问题不在临时文件上。这时候别瞎猜,直接用大文件扫描工具定位。我推荐 WizTree,免费且扫描速度极快,它按文件大小排序,一眼就能看出谁在占空间。常见的“红盘元凶”有:
- 微信/QQ 的聊天文件积累。
- 休眠文件 hiberfil.sys 和页面文件 pagefile.sys。
- 某个大型软件的安装目录或缓存目录(比如虚拟机磁盘镜像文件,一个就几十 G)。
- Windows 更新备份文件和 WinSxS 组件库。
根据扫描结果再决定清理策略,比盲目清临时文件效率高得多。
5.3 清理会不会把系统搞坏
这是很多人删文件前最纠结的事。说实话,只要遵循“能用官方工具就用官方工具,手动删除只动明确知道的目录”,出问题的概率非常低。真正搞坏系统的人,通常是把 AppData 里的配置目录当成“没用的文件”删了,或者去动 System32、WinSxS 里的东西。临时文件清理本身不会影响系统稳定性,最坏的结果也就是某个正在运行的软件突然找不到缓存文件,重新下载一遍而已。
如果你实在不放心,清理之前先创建一个系统还原点,出问题还能一键还原回去。这算是“后悔药”,比任何清理软件都让人安心。
5.4 常见问题速查表
| 问题 | 可能原因 | 解决办法 |
|---|---|---|
| 删除临时文件时提示“正在使用” | 软件或后台进程占用 | 跳过或重启后清理,不要强行结束系统关键进程 |
| 清理完后 C 盘空间没变化 | 临时文件本身不大,空间被别的文件占用 | 用 WizTree 扫描大文件,定位真正的空间大户 |
| WinSxS 文件夹巨大 | 系统更新积累了旧版本组件 | 用dism /Online /Cleanup-Image /StartComponentCleanup安全清理 |
| 删除 AppData 下缓存后软件异常 | 删掉了软件的配置文件或核心缓存 | 手动清理只针对 Cache 目录,配置文件不要碰 |
| 清理脚本一闪而过,没有输出 | 没有以管理员身份运行 | 右键 bat 文件,选择“以管理员身份运行” |
| 存储感知没有自动清理 | 触发频率设置得太低 | 在“存储感知”里把运行频率改为“磁盘空间不足时” |
这个速查表基本覆盖了我被问得最多的情况。如果你遇到的现象不在表里,大概率是你清理的路径根本不是临时文件,建议先回到第 4 节,把扫描工具用起来再判断。
说到底,Windows 11 的临时文件清理不是什么高深技术,核心就是“知道文件在哪里、知道哪些能删、知道用什么工具删”。我自己现在固定组合是:每个月跑一次 cleanmgr,每周跑一次自写的清理脚本,每季度用 WizTree 扫描一次大文件,把第三方软件的缓存顺手清一遍。这套组合拳打下来,C 盘常年保持健康,基本没被“磁盘空间不足”骚扰过。你也按这个节奏来,不会比任何人差。