能不能像 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 是否已安装:

  1. 打开开始菜单,输入 cmd,选「以管理员身份运行」以管理员权限打开命令提示符。
  2. 输入 winget --version,按 Enter。

如果已安装,会显示版本号。如果没有,就从微软商店下载安装 App Installer。

检查 Windows 11 上 winget 是否可用

用『winget upgrade』命令更新 Windows 应用

确认你的 Windows 11 或 10 系统上有能用的 Windows 包管理器之后,先列出系统上所有需要升级的应用。

  1. 用这条命令获取一份存在待更新、必须升级的应用清单。
winget upgrade

列出所有可更新应用的 Winget 命令

  1. 更新某个特定应用:
winget upgrade --name "应用名称"

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

用 winget upgrade 命令更新单个应用

用『winget upgrade --all』更新所有应用

我们已经看过列出应用、以及如何单独更新其中一个的语法。现在来看看这条命令——它能借助 Winget,在 Windows 11 或 10 上一次性更新所有已安装的应用。

winget upgrade --all

这条命令一执行,就会立刻为所有存在可用更新的应用启动更新流程。所以,先确定你确实想这么做。另外,部分应用在更新过程中可能需要用户交互。

针对所有 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 上的应用;要是碰到任何问题,评论区随时归你!