PowerShell是清理Windows更新缓存最高效方式,推荐仅清SoftwareDistribution\Download目录;可连带清理日志与临时文件;严重问题时重置整个SoftwareDistribution并重启服务;封装为.ps1脚本支持一键执行。
powershell 是清理 windows 更新缓存最高效、可复用的方式,尤其适合定期维护或批量管理多台设备。它能绕过图形界面限制,精准定位关键路径,避免误删系统元数据,同时支持静默执行与脚本整合。
只清 Download 目录(推荐日常使用)
SoftwareDistribution\Download 是更新缓存的“主仓库”,存放所有已下载未安装或已安装但未清理的更新包,体积最大、最易出问题。DataStore、Logs 等子目录含运行状态信息,不建议全删。
- 以管理员身份打开 PowerShell
- 运行命令:Remove-Item -Path "$env:windir\SoftwareDistribution\Download\*" -Recurse -Force
- 执行后无报错即成功;无需重启服务,下次检查更新时会自动重建空 Download 目录
连同临时日志一并清理
更新失败常伴随大量日志堆积(如 WindowsUpdateLogs)、临时解压文件(%TEMP%)和旧缓存残留,一并清理可提升后续更新成功率。
- 在同一个管理员 PowerShell 窗口中,追加以下命令:
- Remove-Item -Path "$env:LOCALAPPDATA\Temp\WindowsUpdateLogs\*" -Force -Recurse -ErrorAction SilentlyContinue
- Remove-Item -Path "$env:TEMP\*" -Force -Recurse -ErrorAction SilentlyContinue
- Remove-Item -Path "$env:windir\Temp\*" -Force -Recurse -ErrorAction SilentlyContinue
重置整个 SoftwareDistribution(适用于严重卡顿)
当更新反复失败、服务无法启动或 Download 清理后仍异常,可彻底重置缓存根目录。该操作会清除所有更新状态记录,等效于“全新开始”。
- 先停服务:net stop wuauserv; net stop bits; net stop cryptsvc
- 再执行清理:Remove-Item -Path "$env:windir\SoftwareDistribution\*" -Recurse -Force
- 最后重启服务:net start wuauserv; net start bits; net start cryptsvc
- 注意:此操作后首次检查更新会稍慢,系统需重建索引和状态库
封装成一键脚本(进阶实用)
把上述逻辑写成 .ps1 文件,双击或定时任务调用更省心。保存为 Clear-WUCache.ps1,内容如下:
# 清理 Windows Update 缓存(安全模式) Write-Host "正在停止 Windows Update 相关服务..." -ForegroundColor Cyan net stop wuauserv > $null net stop bits > $null net stop cryptsvc > $null <p>Write-Host "正在清理 Download 缓存..." -ForegroundColor Cyan Remove-Item -Path "$env:windir\SoftwareDistribution\Download*" -Recurse -Force -ErrorAction SilentlyContinue</p><p>Write-Host "正在清理临时日志..." -ForegroundColor Cyan Remove-Item -Path "$env:LOCALAPPDATA\Temp\WindowsUpdateLogs*" -Recurse -Force -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMP*" -Recurse -Force -ErrorAction SilentlyContinue</p><p>Write-Host "正在重启服务..." -ForegroundColor Cyan net start wuauserv > $null net start bits > $null net start cryptsvc > $null</p><p>Write-Host "清理完成。" -ForegroundColor Green</p>
首次运行前需在管理员 PowerShell 中执行:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,允许本地脚本执行。


















