能不能像 Linux 那样,用一条命令升级所有装好的 Windows 应用?答案是能,解决方案就是 Winget。
在这个飞速运转的世界里,保持系统所装软件为最新,对系统兼容性和安全性至关重要。可如果你有一长串应用,挨个翻、看哪个该更新,既繁琐又费时。你怎么看? 如果你的答案是「确实」,那就继续往下读,因为你会找到一个解决办法——用微软的 Windows 包管理器 Winget。
它提供了一条精简的途径,直接从命令提示符或 PowerShell 管理应用更新。本指南将带你使用 『winget upgrade all』 命令,一次性更新所有应用,让系统无需手动检查也能保持最新。
认识 Windows 包管理器(winget):
Windows 包管理器,也就是 Winget,是一款命令行工具,设计为只在 Windows 10 和 11 操作系统上运行。所以,如果你还在用某个更老的 Windows 版本,本文就不适合你。 长期以来,Windows 用户,尤其是系统管理领域的人,都盼着有个包管理器,能借助命令提示符或 PowerShell 来搜索、安装、升级和配置应用。于是,微软推出了 Winget。
它是一款开源的 Windows 包管理器,源代码放在 GitHub 上。用户可以自动化应用管理任务,减少维护系统更新所需的时间和精力。
在你的 Windows 10/11 系统上准备 Winget:
要用 Winget 更新应用,我们首先得确认 Winget 是否已安装。
- Windows 10 用户需要确保系统是最新的,因为较老的 Windows 10 版本并不自带 Winget 包。即便更新了系统它还是不可用,你就得手动下载 Winget 的 App Installer 包——如果没预装,可以从微软商店获取。
- Windows 11 用户: Winget 是预装的。
确认 Winget 是否已安装:
- 打开开始菜单,输入
cmd,选「以管理员身份运行」以管理员权限打开命令提示符。 - 输入
winget --version,按 Enter。
如果已安装,会显示版本号。如果没有,就从微软商店下载安装 App Installer。

用『winget upgrade』命令更新 Windows 应用
确认你的 Windows 11 或 10 系统上有能用的 Windows 包管理器之后,先列出系统上所有需要升级的应用。
- 用这条命令获取一份存在待更新、必须升级的应用清单。
winget upgrade

- 更新某个特定应用:
winget upgrade --name "应用名称"
把「应用名称」换成你想更新的应用准确名称。如果你想了解如何用 Winget 安装应用,可以看这个例子——用这个包管理器安装 AutoKey 的命令。

用『winget upgrade --all』更新所有应用
我们已经看过列出应用、以及如何单独更新其中一个的语法。现在来看看这条命令——它能借助 Winget,在 Windows 11 或 10 上一次性更新所有已安装的应用。
winget upgrade --all
这条命令一执行,就会立刻为所有存在可用更新的应用启动更新流程。所以,先确定你确实想这么做。另外,部分应用在更新过程中可能需要用户交互。

常见问题排查:
如果运行更新命令后你收到「Failed in attempting to update the source: winget」的报错,说明包源出了问题。这个错误的一个标准解决办法,是强制让 Winget 重置包源。要用的命令如下:
这条命令会把包源重置为默认状态。
winget source reset --force
问题:『winget upgrade --all』没有按预期更新应用。
那就确保运行命令时你有管理员权限。右键点击命令提示符,选「以管理员身份运行」。
用 Winget 管理应用的好处:
效率:一条命令更新所有应用,省时。 自动化:开发者可以把 winget 命令写进脚本,实现自动化维护。 一致性:在多台系统间保持统一的环境。
常见问答(FAQ):
*Q1: 我能用 Winget 在 Windows 10 上更新应用吗?*
A1: 能,只要你有最新版的 App Installer 包,Winget 就兼容 Windows 10。
*Q2: 如何从命令提示符用 winget 更新应用?*
A2: 以管理员权限打开命令提示符,用 winget upgrade 命令来列出并更新应用。
*Q3: 如果 winget upgrade-all 更新不了某些应用,我该怎么办?*
A3: 确保你有管理员权限,且包源配置正确。需要时用 winget source reset --force 重置源。
结语:
手动一个个更新应用当然费时,但利用「winget upgrade --all」命令,我们就能精简这一过程,提升安全性和性能。希望你如今已学会如何用 Winget 自动升级 Windows 11 上的应用;要是碰到任何问题,评论区随时归你!