乐于分享
好东西不私藏

别再手动下载软件了!微软官方 WinGet 让你一行命令装遍天下

别再手动下载软件了!微软官方 WinGet 让你一行命令装遍天下

你还在一个个下载安装包吗?

打开浏览器,搜索软件名,找到官网,点击下载,等待下载完成,双击安装包,下一步下一步下一步……

这套流程,你每年要重复多少次?

而 Mac 用户早就在用 Homebrew 一行命令搞定,Linux 用户更是 apt、yum 用得飞起。Windows 用户呢?长期以来只能羡慕地看着,直到微软终于憋出了大招——WinGet

这不是什么第三方工具,而是微软官方出品、Windows 系统自带的包管理器。从 Windows 10 到 Windows 11,从个人电脑到 Windows Server 2025,它已经悄悄躺在你的系统里,等着你去唤醒。

WinGet 到底是什么?

简单说,WinGet 就是 Windows 的“应用商店命令行版”,但比应用商店强大得多。

它的全名叫 Windows Package Manager(Windows 包管理器),通过命令行界面让你可以:

  • 搜索:在海量软件库中找到你要的应用

  • 安装:一条命令自动下载并安装

  • 更新:批量升级所有过时软件

  • 卸载:干净彻底地移除应用

更关键的是,它整合了多个软件源。默认情况下,WinGet 可以访问两个主要源:

  1. msstore:微软商店(免费且适合所有年龄段的应用)

  2. winget:WinGet 社区仓库(github.com/microsoft/winget-pkgs),包含数万个开源和商业软件

想象一下:你重装系统后,不用再一个个找安装包,只需要一个命令列表,几分钟内所有常用软件自动装好。这就是包管理器的魅力。

第一步:确认 WinGet 已安装

在 Windows 11 和现代版本的 Windows 10 上,WinGet 已经作为“应用安装程序”(App Installer)的一部分预装了。

打开命令提示符或 PowerShell,输入:

winget --version

如果看到版本号(比如 v1.7.10661),恭喜你,可以直接开始用了。

如果提示“winget 不是内部或外部命令”,说明你需要安装。最简单的方法是:

  1. 打开微软商店

  2. 搜索“应用安装程序”(App Installer)

  3. 点击安装或更新

特别提醒: 有些用户遇到“winget 不在 PATH 中”的问题,这通常是因为系统环境变量没有正确配置。解决方法是重启电脑,或者手动将 C:\Users\你的用户名\AppData\Local\Microsoft\WindowsApps 添加到系统 PATH。

核心命令:从搜索到安装

1. 搜索软件:winget search

想装个软件但不知道确切名字?先搜索一下:

winget search vscode

WinGet 会返回所有匹配的结果,包括软件 ID、版本号、来源等信息:

名称                            ID                          版本      源

---------------------------------------------------------------------------

Visual Studio Code              Microsoft.VisualStudioCode  1.87.0    winget

这里的 ID 很重要,后续安装、更新、卸载都要用到它。

2. 查看详情:winget show

在安装之前,想了解更多信息?用 show 命令:

winget show Microsoft.VisualStudioCode

你会看到软件的发布者、下载大小、官网链接、许可协议等详细信息。知己知彼,装得放心。

3. 安装软件:winget install

确认无误后,一条命令搞定安装:

winget install Microsoft.VisualStudioCode

WinGet 会自动下载安装包并执行安装程序。整个过程无需你再点击“下一步”。

实用技巧:

  • 如果你想静默安装(不弹出安装界面),加上-h 参数:

    winget install Microsoft.VisualStudioCode -h

  • 如果你想指定安装位置,某些软件支持--location 参数:

    winget install 7zip.7zip --location "D:\Program Files"

4. 批量安装:一次装完所有软件

重装系统最痛苦的就是一个个装软件。WinGet 让这个过程变成一行命令的事。

先创建一个文本文件 apps.txt,每行写一个软件 ID:

Microsoft.VisualStudioCode

Google.Chrome

7zip.7zip

Git.Git

然后用 import 命令批量安装:

winget import apps.txt

喝杯咖啡回来,所有软件都装好了。

5. 查看已安装:winget list

想知道系统里装了哪些软件?

winget list

这会列出所有通过 WinGet 或其他方式安装的应用。如果某个软件有更新,版本号后面会显示可用的新版本。

6. 更新软件:winget upgrade

不用再一个个打开软件检查更新了。 先看看哪些软件有更新:

winget upgrade

更新单个软件:

winget upgrade Microsoft.VisualStudioCode

更新所有软件(这个命令堪称神器):

winget upgrade --all

注意: 某些软件可能需要管理员权限才能更新,建议以管理员身份运行命令提示符。

7. 卸载软件:winget uninstall

干净卸载,不留痕迹:

winget uninstall Microsoft.VisualStudioCode

高级玩法:让 WinGet 更强大

管理软件源:winget source

WinGet 默认使用微软官方源,但你可以添加其他源。查看当前源:

winget source list

添加新源(比如企业内部源):

winget source add 公司源 https://your-company-repo.com

导出软件列表:winget export

换电脑前,把当前安装的软件列表导出:

winget export -o backup.json

在新电脑上导入:

winget import backup.json

这个功能简直是系统迁移的救星。 你的软件环境可以像代码一样版本管理、一键复制。

固定版本:winget pin

有些软件你不想自动更新(比如某个特定版本的开发工具),可以用 pin 命令锁定:

winget pin add Microsoft.VisualStudioCode

取消锁定:

winget pin remove Microsoft.VisualStudioCode

常见问题全解答

问题 1:服务器证书与任何预期值都不匹配

症状: 运行 WinGet 命令时报错:

错误: 服务器证书与任何预期值都不匹配

原因: 这通常是网络代理或防火墙导致的 SSL 证书验证失败。

解决方案:

方法一:临时禁用代理

winget install <软件ID> --no-proxy

方法二:设置代理如果你在公司网络环境下,可能需要配置代理:

winget install <软件ID> --proxy http://proxy.company.com:8080

方法三:检查系统时间证书验证依赖系统时间,确保你的电脑时间准确无误。打开设置 → 时间和语言 → 日期和时间,开启“自动设置时间”。

方法四:更新 WinGet 旧版本可能存在证书处理 bug,更新到最新版:

winget upgrade Microsoft.AppInstaller

问题 2:找不到软件包

症状: 搜索或安装时提示“找不到包”。

解决方案:

  1. 确认软件名或 ID 拼写正确,用 winget search 先搜索

  2. 更新软件源:winget source update

  3. 检查网络连接,确保能访问 WinGet 仓库

问题 3:安装失败或卡住不动

解决方案:

  1. 以管理员身份运行命令提示符

  2. 检查磁盘空间是否充足

  3. 暂时关闭杀毒软件(某些杀软会拦截安装程序)

  4. 查看详细日志:winget install <软件 ID> --verbose-logs

问题 4:WinGet 命令太慢

解决方案:

  1. 切换到国内镜像源(如果有)

  2. 使用--disable-interactivity 参数跳过交互提示

  3. 检查是否在后台运行 Windows 更新

图形化界面:不想敲命令?试试 UniGetUI

如果你觉得命令行太硬核,可以试试 UniGetUI(原名 WingetUI)。这是一个开源的图形化界面工具,让你可以用鼠标点点点就能管理软件。

UniGetUI 的特色:

  • 整合 WinGet、Scoop、Chocolatey、Pip、Npm 等多个包管理器

  • 可视化界面,一目了然

  • 支持批量操作、自动更新、软件备份

  • 完全免费开源

安装方法:

winget install Devolutions.UniGetUI

或者从微软商店搜索“UniGetUI”直接安装。

命令行和图形界面,选哪个? 如果你是开发者或喜欢自动化,命令行更高效;如果你只是普通用户,图形界面更友好。两者可以共存,按需选择。

PowerShell 模块:更强大的自动化

对于高级用户,微软还提供了 Microsoft. WinGet. Client PowerShell 模块,可以在脚本中调用 WinGet 功能。

安装模块:

Install-Module-Name Microsoft.WinGet.Client -Repository PSGallery

示例用法:

# 搜索软件

Find-WinGetPackage-Name"Visual Studio Code"

# 安装软件

Install-WinGetPackage-Id Microsoft.VisualStudioCode

# 更新所有软件

Update-WinGetPackage-All

这意味着你可以写脚本自动化整个软件管理流程,比如每周自动检查更新、定时备份软件列表、批量部署企业软件等。

实战场景:WinGet 如何改变你的工作流

场景 1:开发环境快速搭建

作为开发者,换台电脑或重装系统后,用 WinGet 可以几分钟内搭建完整开发环境:

# 安装开发工具

winget install Microsoft.VisualStudioCode

winget install Git.Git

winget install Microsoft.WindowsTerminal

winget install Docker.DockerDesktop

winget install Python.Python.3.12

winget install OpenJS.NodeJS

# 安装浏览器

winget install Google.Chrome

winget install Mozilla.Firefox

# 安装常用工具

winget install 7zip.7zip

winget install Notepad++.Notepad++

一杯咖啡的时间,开发环境就绪。

场景 2:企业批量部署

IT 管理员可以创建标准软件列表,批量部署到公司所有电脑:

# 创建企业标准软件包

winget export -o company-standard.json

# 在新电脑上导入

winget import company-standard.json --accept-package-agreements --accept-source-agreements

配合 PowerShell 脚本和组策略,可以实现完全自动化的软件管理。

场景 3:定期维护

写一个简单的批处理文件 update-all.bat

@echo off

echo 正在更新所有软件...

winget upgrade --all --silent

echo 更新完成!

pause

双击运行,所有软件自动更新,再也不用担心软件版本过时了。

WinGet vs 其他包管理器

你可能听说过 Chocolatey、Scoop 等第三方包管理器,它们和 WinGet 有什么区别?

特性
WinGet
Chocolatey
Scoop
官方支持
✅ 微软官方
❌ 第三方
❌ 第三方
系统集成
✅ 原生集成
❌ 需要安装
❌ 需要安装
软件数量
🟢 数万个
🟢 数万个
🟡 数千个
安装位置
系统标准位置
系统标准位置
用户目录(便携式)
学习曲线
🟢 简单
🟡 中等
🟡 中等

我的建议:

  • 普通用户:直接用 WinGet,简单够用

  • 开发者:WinGet + Scoop 组合(Scoop 适合管理便携式开发工具)

  • 企业用户:WinGet + Chocolatey(Chocolatey 有更强的企业管理功能)

好消息是,UniGetUI 可以同时管理这三个包管理器,你不需要做选择题。

写在最后:命令行不可怕,效率才重要

很多人一听“命令行”就觉得很极客、很复杂。但实际上,WinGet 的命令比你在浏览器里找软件、下载、安装要简单得多。

winget install 软件名

就这么简单。一次学会,终身受益。

更重要的是,它让你的软件管理变得可追溯、可复制、可自动化。你的软件环境可以像代码一样版本管理,换电脑就像 git clone 一样轻松。

2026 年了,是时候告别手动下载安装包的时代了。打开命令提示符,输入 winget search,开始你的高效软件管理之旅吧。


你平时怎么管理电脑上的软件?有没有遇到过重装系统后一个个找安装包的痛苦? 欢迎在评论区分享你的经验,或者提出你在使用 WinGet 时遇到的问题,我会尽力解答。

如果这篇文章对你有帮助,别忘了点个“在看”,让更多人发现这个宝藏工具!