Windows 自带 winget 怎么用:命令行安装、更新与卸载软件全指南

2026-10-25

标签软件管理winget命令行

很多人在网上找软件,点进不知名下载站,结果装了一堆捆绑软件。其实 Windows 10(2004 及以上)和 Windows 11 自带了一个官方命令行包管理器——winget,它直接从微软背书的软件源拉取安装包,安装、更新、卸载都能用一条命令完成。本文把 winget 的常用姿势一次讲清楚。

winget 是什么,和官网下载有什么区别

winget(Windows Package Manager)是微软官方提供的命令行包管理工具,默认集成在较新版本的 Windows 中。它做的事情和「你打开浏览器、搜索、下载、双击安装」一样,只是全部由命令自动完成。

与官网手动下载相比,winget 有三个明显优势:

  1. 来源可控:默认从微软认可的应用商店关联源(winget 源)拉取,很多知名软件是由官方或社区维护的清单,降低从下载站拿到捆绑包的风险;
  2. 批量高效:重装系统后可以一条条命令安装常用软件,也可以导出清单脚本复用到其他电脑;
  3. 更新集中:用 winget upgrade --all 可以统一检查并更新已纳入管理的软件,不用一个个软件手动找更新入口。

需要说明的是,winget 只是自动帮你「下载并运行官方安装程序」,软件的可靠性仍取决于维护者发布的清单指向的官方地址。追求绝对稳妥时,重要软件仍可在官方站点核对后再安装。

怎么确认自己能用 winget

先打开「开始」菜单搜索「终端」或「PowerShell」,输入:

winget --version

能输出版本号(如 v1.x),说明系统已自带 winget,直接可用。若提示「无法识别」,说明系统版本较旧或组件缺失,可先在 Microsoft Store 中搜索「App Installer」并更新到最新版(winget 由 App Installer 提供),这个应用本身来自微软官方商店。

最常用的 6 个命令

| 命令 | 用途 | 示例 | |------|------|------| | winget search 关键词 | 搜索软件并查看准确包 ID | winget search 7zip | | winget show 包ID | 查看某软件来源、版本、发布者 | winget show 7zip.7zip | | winget install 包ID | 安装指定软件 | winget install 7zip.7zip | | winget list | 查看已安装的软件清单 | winget list | | winget upgrade --all | 检查并更新所有可更新的软件 | winget upgrade --all | | winget uninstall 包ID | 卸载指定软件 | winget uninstall 7zip.7zip |

为了让安装过程更安静顺畅,还可以加上这些参数:

winget install -e --id 7zip.7zip --source winget

-e 表示精确匹配包 ID,--source winget 明确只使用 winget 源,避免搜索到同名的其他来源版本。搜索后看到多个候选时,以官方维护的清单(显示发布者与官方网站一致者)优先。

重装系统后批量装软件的思路

换新电脑或重装系统后,常见的做法是一遍遍手动下载。用 winget 可以这样:

  1. 列出当前电脑已装的软件:winget list;
  2. 挑出自己真正需要的,逐条写 winget install 包ID 组成一个文本脚本;
  3. 在新电脑上逐行执行,或在终端里一次性粘贴执行。

一个更省事的办法是导出清单:

winget export -o apps.json
winget import -i apps.json

把 apps.json 保存好,新电脑上执行导入即可批量还原。注意导入时会逐项询问确认,加 --accept-package-agreements 可跳过部分协议的交互确认;但首次使用建议先看清单内容,确认没有把不需要的软件也一起装回来。

更新管理与卸载时的注意事项

更新软件用 winget upgrade,它可以告诉你哪些软件有新版本:

  • 只想更新某一个:winget upgrade 包ID;
  • 全部更新一遍:winget upgrade --all。

升级前建议先备份重要文档,并留意该软件的更新说明——个别软件的大版本升级可能改变操作方式或默认设置。

卸载时优先用系统的「设置 > 应用 > 安装的应用」,也可以 winget uninstall 包ID。若软件本身不在 winget 管理范围内(比如手动安装的绿色版),winget 可能找不到它,这时回到对应软件的官方网站查看卸载说明即可。

新手最容易踩的 4 个坑

  1. 把搜索结果当精确匹配:winget install 7zip 可能让你在多个相近结果里选择,用 -e --id 指定完整 ID 更稳妥;
  2. 覆盖自带命令的软件冲突:个别软件(如 Python、Git)版本较多,安装前用 winget show 确认发布者与版本,装成旧版再升级会多费一步;
  3. 管理员权限不足:部分软件安装和全局更新需要管理员权限,提示权限不足时右键终端「以管理员身份运行」;
  4. 盲信任何「winget 一键装全套」脚本:网上有人分享批量安装脚本,先逐行看清单再执行,防止夹带不需要的软件。

和「官网下载」怎么配合

winget 适合高频、知名的常用软件;冷门软件、小众工具或需要特定自定义选项的安装,仍建议直接访问官方网站下载安装包,下载后用浏览器验证 HTTPS 证书与软件数字签名(详见站内「如何从官网安全下载软件」一文)。两者并不冲突,而是互为补充。

常见报错与处理速查

| 现象 | 原因 | 处理 | |------|------|------| | 提示「无法识别 winget」 | 系统版本旧或 App Installer 缺失 | 到 Microsoft Store 更新「应用安装程序」,或升级系统 | | 提示需要接受源协议 | 首次使用该软件源 | 按提示输入 y 确认,或加 --accept-source-agreements | | 安装到一半被杀毒软件拦下 | 个别安装包行为触发防护 | 以官方清单源为准复核后,在安全软件中允许本次安装 | | winget list 看不到刚装的软件 | 该软件未走安装器注册 | 属正常现象,以软件自身「关于」页面版本为准 | | 提示「已在 0 个源中找到」 | 拼写或包 ID 不对 | 先 winget search 查准确 ID 再装 |

做完这几件再收工

  • 在终端输入 winget --version,确认本机 winget 可用。
  • 用 winget search 找一款常用软件,并 winget show 核对发布者与来源。
  • 挑一款软件用 -e --id --source winget 完整安装一遍。
  • 运行 winget upgrade --all,记录本次更新了哪些软件及版本变化。
  • 把 winget export -o apps.json 导出的清单备份到网盘,作为重装系统素材。