news 2026/9/19 22:48:35

Windows更新文件清理指南:安全释放C盘空间

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows更新文件清理指南:安全释放C盘空间

1. 项目概述:为什么你总在“删更新文件”这件事上反复折腾?

Windows更新文件删除,不是个技术问题,而是一个系统与用户之间持续博弈的日常现场。我做IT支持和系统运维十多年,几乎每天都会遇到三类人:一类是C盘爆红、只剩2GB空间却查不出原因的行政同事;一类是开发环境里刚装完VS2022就蓝屏重启、回滚失败后卡在“正在准备Windows请勿关闭计算机”的工程师;还有一类是远程办公时突然被强制重启、导致未保存的Excel表格消失、气得砸键盘的自由职业者。他们最后都指向同一个操作——“Windows更新怎么删除更新文件”。但真正的问题从来不是“怎么删”,而是删什么、什么时候删、删了会不会让系统变砖、删完之后更新机制还健不健康

核心关键词“Windows更新”“SoftwareDistribution”“磁盘清理”背后,是一整套微软设计的增量式补丁分发与原子化安装体系。它不像普通软件安装那样把文件一股脑扔进Program Files就完事,而是先下载到C:\Windows\SoftwareDistribution\Download,再解压校验、打补丁、备份旧文件、注册服务、写入注册表,最后才触发重启生效。这个过程里,Download文件夹里存的是原始压缩包(.cab/.esd),DataStore里存的是更新元数据索引,WuRedir里存的是重定向缓存——它们加起来动辄占用15~30GB空间,且Windows自带的“磁盘清理”工具默认只清Download,对DataStoreWuRedir束手无策。更麻烦的是,从Windows 10 1809开始,微软引入了“功能更新就地升级”机制,新版系统镜像会提前缓存在C:\$WINDOWS.~BTC:\$WINDOWS.~WS里,这些隐藏文件夹连管理员权限都删不掉,必须用DISM命令或专用工具才能安全释放。

所以,这篇内容不是教你怎么点几下鼠标清掉几个G,而是带你搞清楚:哪些文件能删、哪些删了等于自废武功;为什么“暂停更新”只是掩耳盗铃;为什么你禁用了Windows Update服务,SoftwareDistribution文件夹下周还是自动涨到8GB;以及最关键的——如何在不破坏系统更新链路的前提下,把C盘腾出20GB真实可用空间。适合所有还在用Windows 10/11的用户,尤其推荐给开发、设计、视频剪辑等需要大容量SSD又不想频繁重装系统的从业者。你不需要懂PowerShell,但得愿意花15分钟看懂这背后的逻辑。

2. 内容整体设计与思路拆解:删文件不是目的,重建更新健康度才是关键

很多人一看到C盘红了,第一反应就是打开“磁盘清理”→勾选“Windows更新清理”→点确定。结果发现只少了2GB,第二天又涨回去。或者更糟:手动删了SoftwareDistribution整个文件夹,结果下次更新直接失败,错误代码0x80240020满天飞。这不是操作不对,而是没理解Windows更新机制的设计哲学——它本质上是个“带状态的事务系统”,不是静态文件仓库。删文件就像拔掉正在输液的针头,液体没流完,血管已经堵了。

我的实操方案分三层:隔离层→清理层→防护层

  • 隔离层:先切断更新进程对文件的实时占用。Windows Update服务(wuauserv)、后台智能传输服务(BITS)、加密服务(CryptSvc)这三个进程会锁住SoftwareDistribution里的文件,哪怕你以管理员身份运行CMD也删不掉。必须用net stop逐个停服,且顺序不能错——先停wuauserv,再停BITS,最后停CryptSvc;启动时则反过来,否则服务依赖关系会崩。
  • 清理层:不是简单del /q /f /s暴力清空。Download文件夹可直接删,但DataStore里存着更新历史、失败记录、补丁哈希值,删了会导致Windows认为“从未更新过”,下次检查更新要重新下载全部补丁;WuRedir是HTTP重定向缓存,删了影响不大,但得用wuauclt /resetauthorization重置客户端授权,否则后续更新会报错0x8024401c。
  • 防护层:永久关闭更新?不行。微软已把Windows Update深度集成进系统底层,关服务会导致Defender实时防护失效、时间同步异常、甚至Edge浏览器无法更新证书。真正有效的是“空间配额控制”+“更新节奏干预”:用组策略限制下载缓存大小(默认无上限),用任务计划程序每周自动执行一次轻量级清理,再配合DISM命令定期清理组件存储(WinSxS),这才是可持续方案。

这套思路不是凭空想的。我服务过一家200人规模的设计公司,他们用Adobe全家桶+Unreal Engine,C盘全是NVMe SSD,但设计师习惯把PSD源文件存在桌面,导致C盘常年低于10GB。我们上线这套三层方案后,C盘稳定维持在25GB以上,更新失败率从每月17次降到0次。关键在于:不追求“彻底清空”,而追求“动态平衡”。就像汽车机油,不是每次保养都换光,而是放掉旧油、补充新油、保持总量恒定——系统更新文件也一样,要让它有进有出,而不是堵死出口。

3. 核心细节解析与实操要点:SoftwareDistribution文件夹的真相与陷阱

C:\Windows\SoftwareDistribution这个路径,是Windows更新真正的“心脏起搏器”。它不像Temp文件夹那样可以随便清,也不像Downloads那样只是临时中转站。它的结构高度结构化,每个子目录承担不同角色,删错一个,整个更新链就断了。我拆解过Windows 11 22H2、23H2两个版本的该目录,结合微软官方文档和事件查看器日志,确认其核心组成如下:

子目录名占用空间典型值是否可安全删除删除后果替代方案
Download5~20GB✅ 是下次更新需重新下载全部补丁包每次更新成功后立即清空
DataStore1~3GB❌ 否Windows认为“无更新历史”,检查更新变极慢,易触发0x80240016错误wuauclt /resetauthorization重置而非删除
WuRedir200~800MB⚠️ 可删但需配套操作HTTP重定向缓存失效,首次更新可能稍慢删除后必须运行wuauclt /resetauthorization
ReportingEvents<10MB✅ 是丢失最近30天更新日志,不影响功能定期导出日志后清空
SelfUpdate<50MB❌ 否Windows Update客户端自身更新失败,长期不更新会导致兼容性问题仅当明确知道版本冲突时才手动替换

重点说说Download文件夹。它里面不是一堆零散文件,而是按KB编号的.cab压缩包(如1.cab,2.cab),每个对应一个补丁模块。Windows 11开始还增加了.esd格式(Enhanced Compressed Disk Image),压缩率比.cab高40%,但解压更耗CPU。有趣的是,这些文件名本身不包含补丁信息,真正关联补丁ID的是DataStore\Logs\WindowsUpdate.log里的日志条目。我试过直接删Download里所有.cab,结果系统照常工作,但下次检查更新时,它会重新下载全部文件——因为DataStore里还存着“我需要这些补丁”的元数据。

另一个常见误区是“用磁盘清理删更新文件”。Windows自带的磁盘清理工具(cleanmgr)确实能清Download,但它有个致命缺陷:它不会清WuRedir,也不会重置客户端授权。这就导致很多用户清完发现空间只少了几百MB,第二天又涨回来。更隐蔽的问题是:磁盘清理执行后,DataStore里的索引没更新,系统会误判某些补丁“已安装但未生效”,从而反复尝试安装,形成恶性循环。我在客户现场抓取过Process Monitor日志,发现磁盘清理后,svchost.exe进程会高频读取DataStore\Index.dat,CPU占用飙升到30%,这就是索引错乱的典型表现。

提示:不要用第三方清理工具(如CCleaner)碰SoftwareDistribution。它们往往用暴力遍历方式删文件,不考虑服务锁和依赖关系,极易导致wuauserv服务崩溃。我见过最惨的一次:某用户用某国产“系统加速器”一键清理,结果DataStore被删掉一半,重装Windows Update组件花了6小时。

实操中最容易踩的坑,是以为“以管理员身份运行CMD就能删一切”。实际上,SoftwareDistribution被SYSTEM账户完全控制,即使你是Administrator,也需要先取得所有权。正确流程是:

  1. 运行cmd(管理员);
  2. 执行takeown /f C:\Windows\SoftwareDistribution /r /d y(获取所有权);
  3. 执行icacls C:\Windows\SoftwareDistribution /grant administrators:F /t(赋予完全控制权);
  4. 再执行net stop wuauserv && net stop bits && net stop cryptsvc
  5. 最后rd /s /q C:\Windows\SoftwareDistribution

注意第2步的/d y参数——它表示“对所有提示自动回答yes”,没有这个参数,takeown会在每个子目录弹窗确认,根本没法批量操作。这个细节90%的教程都漏掉了,导致很多人卡在第一步。

4. 实操过程与核心环节实现:从手动清理到自动化防护的完整闭环

现在进入实操阶段。我会给你一套“开箱即用”的方案,包含三个层级:基础手动清理(5分钟搞定)、进阶脚本自动化(每周自运行)、长期空间防护(一劳永逸)。所有命令均经Windows 11 22H2/23H2实测,不依赖第三方软件,纯系统原生命令。

4.1 基础手动清理:安全清空Download文件夹的黄金步骤

这是最常用、最安全的清理方式,适合C盘突然告急时紧急处理。全程无需重启,100%保留更新历史和系统稳定性。

  1. 停止相关服务(必须按顺序执行):

    net stop wuauserv net stop bits net stop cryptsvc

    注意:cryptsvc是加密服务,负责验证补丁签名。如果跳过这步,SoftwareDistribution文件夹会被锁定,后续删除会报错“拒绝访问”。

  2. 清空Download文件夹(保留其他子目录):

    rd /s /q C:\Windows\SoftwareDistribution\Download md C:\Windows\SoftwareDistribution\Download

    关键点:不要用del命令,而要用rd /s /q删除整个目录,再用md重建空文件夹。这样能确保目录权限重置,避免后续更新因权限问题失败。我测试过,直接del *.*会导致Download文件夹属性异常,下次更新时wuauserv会报错0x80070005。

  3. 重置Windows Update客户端(修复潜在状态异常):

    net start wuauserv net start bits net start cryptsvc wuauclt /resetauthorization

    wuauclt /resetauthorization这条命令是精髓。它会让Windows Update客户端向微软服务器重新注册,刷新WuRedir缓存和授权令牌。没有这步,你可能遇到“检查更新时卡在0%”或“下载进度条不动”的问题。这个命令在Windows 10/11中依然有效,尽管微软文档里已不强调它。

  4. 验证清理效果
    打开“设置→Windows更新→高级选项”,点击“检查更新”。正常情况下,你会看到“正在搜索更新…”然后很快显示“你的设备已是最新版本”。此时打开资源管理器,C:\Windows\SoftwareDistribution\Download应为空,而DataStore大小不变——说明历史记录完好,只是清掉了待安装的补丁包。

我建议把这个流程做成快捷方式。新建文本文档,粘贴以下内容,保存为WinUpdateClean.bat,右键“以管理员身份运行”即可:

@echo off echo 正在停止Windows更新服务... net stop wuauserv >nul 2>&1 net stop bits >nul 2>&1 net stop cryptsvc >nul 2>&1 echo 正在清空Download文件夹... rd /s /q C:\Windows\SoftwareDistribution\Download >nul 2>&1 md C:\Windows\SoftwareDistribution\Download >nul 2>&1 echo 正在重启服务并重置授权... net start wuauserv >nul 2>&1 net start bits >nul 2>&1 net start cryptsvc >nul 2>&1 wuauclt /resetauthorization >nul 2>&1 echo 清理完成!C盘空间已释放。 pause

4.2 进阶脚本自动化:每周自动执行的轻量级防护

手动清理治标不治本。更好的做法是让系统自己定期“体检”。我设计了一个PowerShell脚本,每周日凌晨2点自动运行,只清理DownloadReportingEvents,同时记录日志供追溯。它比任务计划程序自带的“磁盘清理”更精准,且不触碰敏感区域。

脚本内容(保存为AutoWinUpdateClean.ps1):

# AutoWinUpdateClean.ps1 $logPath = "$env:windir\Temp\WinUpdateClean.log" $today = Get-Date -Format "yyyy-MM-dd HH:mm:ss" # 记录开始 "$today - 自动清理开始" | Out-File $logPath -Append # 停止服务 Stop-Service wuauserv -Force -ErrorAction SilentlyContinue Stop-Service bits -Force -ErrorAction SilentlyContinue Stop-Service cryptsvc -Force -ErrorAction SilentlyContinue # 清空Download和ReportingEvents if (Test-Path "C:\Windows\SoftwareDistribution\Download") { Remove-Item "C:\Windows\SoftwareDistribution\Download\*" -Recurse -Force -ErrorAction SilentlyContinue New-Item "C:\Windows\SoftwareDistribution\Download" -ItemType Directory -Force | Out-Null } if (Test-Path "C:\Windows\SoftwareDistribution\ReportingEvents") { Remove-Item "C:\Windows\SoftwareDistribution\ReportingEvents\*" -Recurse -Force -ErrorAction SilentlyContinue } # 重启服务并重置授权 Start-Service wuauserv -ErrorAction SilentlyContinue Start-Service bits -ErrorAction SilentlyContinue Start-Service cryptsvc -ErrorAction SilentlyContinue wuauclt /resetauthorization | Out-Null # 计算释放空间 $freeSpaceBefore = (Get-WmiObject Win32_Volume -Filter "DriveLetter='C:'").FreeSpace $freeSpaceAfter = (Get-WmiObject Win32_Volume -Filter "DriveLetter='C:'").FreeSpace $released = [math]::Round(($freeSpaceAfter - $freeSpaceBefore) / 1GB, 2) "$today - 清理完成,释放空间:${released}GB" | Out-File $logPath -Append

创建任务计划的步骤:

  1. 以管理员身份打开“任务计划程序”;
  2. 点击“创建基本任务”,名称填“Weekly WinUpdate Clean”;
  3. 触发器选“每周”,时间设为周日凌晨2:00;
  4. 操作选“启动程序”,程序填powershell.exe,参数填-ExecutionPolicy Bypass -File "C:\Scripts\AutoWinUpdateClean.ps1"(脚本路径按实际修改);
  5. 在“常规”选项卡勾选“使用最高权限运行”和“不管用户是否登录都要运行”。

注意:-ExecutionPolicy Bypass是必须的,否则PowerShell脚本会被默认策略阻止。这个策略只对当前命令生效,不影响系统全局策略。

4.3 长期空间防护:用组策略和DISM建立更新防火墙

前面两步解决“已存在”的空间占用,但这只是被动防御。真正要一劳永逸,得从源头控制更新文件的生成量。这里有两个核心手段:限制下载缓存大小、清理WinSxS组件存储。

第一,组策略限制缓存配额(仅限Windows专业版/企业版):

  1. Win+R,输入gpedit.msc打开组策略编辑器;
  2. 导航至计算机配置→管理模板→Windows组件→Windows更新→Delivery Optimization
  3. 双击“下载限制”,启用并设置“最大缓存大小”为5120MB(5GB);
  4. 再双击“允许下载限制”,启用并设置“最大下载大小”为2048MB(2GB)。

这个设置会强制Windows Update客户端在Download文件夹达到5GB时自动清理最旧的补丁包,而不是无限堆积。实测下来,C盘空间波动控制在±3GB内,再也不会突然爆红。

第二,DISM清理WinSxS(组件存储)
C:\Windows\WinSxS文件夹常被误认为“垃圾”,其实它是Windows的“组件仓库”,存放所有系统文件的多个版本。每次更新,旧版本不会删,而是标记为“可清理”。用DISM命令可安全释放:

DISM /Online /Cleanup-Image /StartComponentCleanup /ResetBase

/ResetBase参数是关键——它会把当前系统版本设为新基准,删除所有旧版本组件。执行后通常能释放8~15GB空间,且不影响系统回滚能力(因为回滚依赖C:\Windows\System32\config\RegBack里的注册表备份,而非WinSxS)。我建议每季度执行一次,配合前面的自动化脚本,形成空间管理闭环。

5. 常见问题与排查技巧实录:那些官方文档不会告诉你的坑

在上千次实操中,我整理出最常遇到的7个问题,每个都附带真实日志截图分析和独家解决路径。这些不是百度能搜到的“重启试试”,而是深入内核的日志级诊断。

5.1 问题:删完SoftwareDistribution,Windows Update一直显示“正在检查更新...0%”

现象:界面卡在0%,事件查看器里WindowsUpdateClient日志出现大量0x80240016错误。
根因分析DataStore里的Index.dat损坏,或WuRedir缓存未重置。0x80240016本质是“更新元数据初始化失败”,不是网络问题。
独家排查法

  1. 打开C:\Windows\SoftwareDistribution\DataStore\Logs\WindowsUpdate.log,搜索Failed to initialize DataStore
  2. 如果找到该行,说明Index.dat损坏。此时不要删DataStore,而应运行:
    net stop wuauserv ren C:\Windows\SoftwareDistribution\DataStore DataStore.old net start wuauserv wuauclt /resetauthorization
    这会强制重建DataStore,保留Download里的补丁包(如果还有),比全删更安全。

5.2 问题:磁盘清理后,C盘空间没变化,但SoftwareDistribution\Download显示“访问被拒绝”

现象Download文件夹图标变灰,右键属性显示“你没有权限查看此对象的权限”。
根因:磁盘清理工具以SYSTEM账户运行,重置了文件夹所有权,但没赋予当前用户权限。
速效方案

  1. 右键Download文件夹→属性→安全→高级;
  2. 点击“更改”所有人,输入Administrators,确定;
  3. 勾选“用在此容器中的对象继承权限”,应用。

实测:这个操作比takeown命令快3倍,且不会影响其他子目录权限。

5.3 问题:执行DISM /Cleanup-Image后,系统启动变慢,且Windows Update失败

现象:开机多花20秒,更新时出现0x800f081f错误。
根因/ResetBase参数删除了部分驱动微码(microcode)更新,导致启动时CPU固件加载失败。
解决方案

  1. 下载Intel/AMD官网最新微码包(如microcode_20230912.dat);
  2. 解压到C:\temp\mc
  3. 运行:
    dism /online /add-driver /driver:C:\temp\mc /recurse
    这会重新注入微码,启动速度恢复,更新错误消失。

5.4 问题:远程桌面连接时,目标机卡在“请稍后”,但本地能正常操作

现象:标题里提到的“windows11远程卡在 请稍后”,其实是wuauserv服务在后台静默安装更新,阻塞了RDP会话初始化。
诊断命令

quser # 查看当前会话状态,如果STATE列显示“Disc”(已断开),说明RDP被挂起 wmic service where "name='wuauserv'" get state,status # 查看服务是否在“Running”但实际卡住

终极解法
在远程机上运行:

sc config wuauserv start= disabled sc stop wuauserv

然后重启RDP服务:

net stop termservice && net start termservice

注意:这只是临时方案。长期应改用“维护窗口”策略——在组策略中设置计算机配置→管理模板→Windows组件→Windows更新→配置自动更新,启用“自动维护激活时间”,把更新安排在凌晨3-5点,避开远程办公时段。

5.5 问题:SoftwareDistribution文件夹删不掉,报错“目录不是空的”

现象rd /s /q命令执行后,提示“C:\Windows\SoftwareDistribution\Download\1.cab - 拒绝访问”。
真实原因:某个.cab文件正被TrustedInstaller进程占用,而该进程不会出现在任务管理器常规视图中。
破解步骤

  1. 下载微软官方Process Explorer(非第三方);
  2. 运行后按Ctrl+F,搜索1.cab(或其他报错文件名);
  3. 找到占用进程,右键→“Kill Process Tree”;
  4. 再执行rd /s /q
    这个方法比重启电脑高效得多,且不会中断其他服务。

5.6 问题:禁用Windows Update服务后,SoftwareDistribution仍自动增长

现象:组策略禁用更新,服务设为禁用,但一周后Download又长到10GB。
真相:Windows 10/11的“更新医生”(Update Orchestrator)服务(UsoSvc)仍在运行,它会绕过wuauserv直接下载补丁。
验证命令

sc query usosvc

如果状态是RUNNING,说明它在偷偷干活。
彻底禁用

sc stop usosvc sc config usosvc start= disabled

提示:UsoSvc是Windows 10 1809后新增的服务,很多老教程不知道它的存在,导致“禁用更新”形同虚设。

5.7 问题:清理后,Edge浏览器证书警告频发,提示“此网站出具的安全证书有问题”

现象:访问HTTPS网站时,Edge弹出红色警告,但Chrome正常。
根因cryptsvc服务停止期间,Windows证书吊销列表(CRL)缓存失效,而Edge严格校验证书状态。
修复命令

certutil -setreg chain\ChainCacheResyncFiletime @0 certutil -setreg chain\MaxCacheEntryCountForDeltaCRL 1000 net start cryptsvc

第一条命令强制刷新证书缓存,第二条扩大吊销列表缓存容量,第三条重启服务。执行后重启Edge,警告消失。

6. 经验总结与延伸思考:更新文件管理的本质是系统生命周期管理

写完这篇,我翻出自己2015年做的第一份Windows 7更新清理笔记,对比现在Windows 11的机制,发现一个不变的真理:操作系统更新文件管理,从来不是技术问题,而是资源调度问题。十年前我们纠结的是“如何让XP在512MB内存上跑更新”,今天纠结的是“如何让Win11在512GB SSD上不被补丁吃干抹净”。变的只是硬件参数,不变的是微软“功能迭代优先于用户体验”的产品哲学。

我现在的做法是:把Windows更新当作一个需要定期维护的数据库。SoftwareDistribution是它的事务日志,WinSxS是它的归档表空间,Event Log是它的审计日志。清理不是删除,而是归档、压缩、重建索引。就像DBA不会天天TRUNCATE TABLE,而是用VACUUMOPTIMIZE TABLE来优化空间利用率。

最后分享一个真实案例:上周帮一位高校教授处理他的Windows 11笔记本。他用MATLAB跑仿真,C盘只有128GB,常年低于5GB。我上线了前述自动化脚本,又加了一条DISM清理规则,但三天后他反馈“空间又不够了”。我远程一看,C:\Users\Public\Documents\MATLAB里堆了27GB的临时仿真数据——原来他把MATLAB默认路径设在C盘。于是我们把MATLAB路径迁移到D盘,再配合更新清理,C盘稳稳维持在35GB以上。你看,问题从来不在更新文件本身,而在整个系统的资源规划意识。

所以,别再问“Windows更新怎么删除更新文件”了。该问的是:“我的C盘,到底该留给系统多少空间,又该留给工作多少空间?”答案因人而异,但原则只有一个:让系统呼吸,给自己留余地

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/19 22:42:34

2026年PyCharm安装配置全攻略:从下载到跑通第一个项目

1. 为什么2026年还要认真装一次PyCharm很多人看到"安装教程"四个字就划走了&#xff0c;觉得装个软件有什么好讲的&#xff0c;下一步下一步不就完了。但我这些年帮人看环境问题&#xff0c;十次里有七次出在第一步——装的时候随手点&#xff0c;用的时候到处报错。…

作者头像 李华
网站建设 2026/9/19 22:41:38

Branch节点深度解析:读取节点图分支逻辑与性能优化实战

在节点式开发环境里待久了&#xff0c;你会发现一个特别有意思的现象&#xff1a;Branch节点是被用得最多、但最被低估的节点之一。很多人拖一个Branch节点出来&#xff0c;接上布尔值&#xff0c;两条输出一接&#xff0c;就认为大功告成。但等到项目复杂起来&#xff0c;分支…

作者头像 李华
网站建设 2026/9/19 22:40:40

Ant Design Popover 实战:悬停与点击双触发交互的完整实现方案

Ant Design Popover 实战&#xff1a;悬停与点击双触发交互的完整实现方案 【免费下载链接】ant-design An enterprise-class UI design language and React UI library 项目地址: https://gitcode.com/gh_mirrors/ant/ant-design 气泡卡片&#xff08;Popover&#xff…

作者头像 李华
网站建设 2026/9/19 22:39:32

SIMATIC Safety V19组态编程:从F-CPU到安全程序的关键细节

简介&#xff1a;西门子SIMATIC Safety系统的最新组态与编程指南&#xff0c;面向工业自动化中负责故障安全控制项目设计、调试和维护的工程师。资源包内为1个PDF文档&#xff0c;大小6.96MB&#xff0c;已有157人学习。指南覆盖从硬件组态、安全管理编辑器、访问保护&#xff…

作者头像 李华
网站建设 2026/9/19 22:36:49

QMK 开源静电电容数字键盘 EC 23U:构建、刷写与源码级解析

QMK 开源静电电容数字键盘 EC 23U&#xff1a;构建、刷写与源码级解析 【免费下载链接】qmk_firmware Open-source keyboard firmware for Atmel AVR and Arm USB families 项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware 本篇技术指南围绕 QMK 固件仓…

作者头像 李华