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

你还在一个个下载安装包吗?
打开浏览器,搜索软件名,找到官网,点击下载,等待下载完成,双击安装包,下一步下一步下一步……
这套流程,你每年要重复多少次?
而 Mac 用户早就在用 Homebrew 一行命令搞定,Linux 用户更是 apt、yum 用得飞起。Windows 用户呢?长期以来只能羡慕地看着,直到微软终于憋出了大招——WinGet。
这不是什么第三方工具,而是微软官方出品、Windows 系统自带的包管理器。从 Windows 10 到 Windows 11,从个人电脑到 Windows Server 2025,它已经悄悄躺在你的系统里,等着你去唤醒。
WinGet 到底是什么?
简单说,WinGet 就是 Windows 的“应用商店命令行版”,但比应用商店强大得多。
它的全名叫 Windows Package Manager(Windows 包管理器),通过命令行界面让你可以:
-
搜索:在海量软件库中找到你要的应用
-
安装:一条命令自动下载并安装
-
更新:批量升级所有过时软件
-
卸载:干净彻底地移除应用
更关键的是,它整合了多个软件源。默认情况下,WinGet 可以访问两个主要源:
-
msstore:微软商店(免费且适合所有年龄段的应用)
-
winget:WinGet 社区仓库(github.com/microsoft/winget-pkgs),包含数万个开源和商业软件
想象一下:你重装系统后,不用再一个个找安装包,只需要一个命令列表,几分钟内所有常用软件自动装好。这就是包管理器的魅力。
第一步:确认 WinGet 已安装
在 Windows 11 和现代版本的 Windows 10 上,WinGet 已经作为“应用安装程序”(App Installer)的一部分预装了。
打开命令提示符或 PowerShell,输入:
winget --version
如果看到版本号(比如 v1.7.10661),恭喜你,可以直接开始用了。
如果提示“winget 不是内部或外部命令”,说明你需要安装。最简单的方法是:
-
打开微软商店
-
搜索“应用安装程序”(App Installer)
-
点击安装或更新
特别提醒: 有些用户遇到“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:找不到软件包
症状: 搜索或安装时提示“找不到包”。
解决方案:
-
确认软件名或 ID 拼写正确,用
winget search先搜索 -
更新软件源:
winget source update -
检查网络连接,确保能访问 WinGet 仓库
问题 3:安装失败或卡住不动
解决方案:
-
以管理员身份运行命令提示符
-
检查磁盘空间是否充足
-
暂时关闭杀毒软件(某些杀软会拦截安装程序)
-
查看详细日志:
winget install <软件 ID> --verbose-logs
问题 4:WinGet 命令太慢
解决方案:
-
切换到国内镜像源(如果有)
-
使用
--disable-interactivity参数跳过交互提示 -
检查是否在后台运行 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,简单够用
-
开发者:WinGet + Scoop 组合(Scoop 适合管理便携式开发工具)
-
企业用户:WinGet + Chocolatey(Chocolatey 有更强的企业管理功能)
好消息是,UniGetUI 可以同时管理这三个包管理器,你不需要做选择题。
写在最后:命令行不可怕,效率才重要
很多人一听“命令行”就觉得很极客、很复杂。但实际上,WinGet 的命令比你在浏览器里找软件、下载、安装要简单得多。
winget install 软件名
就这么简单。一次学会,终身受益。
更重要的是,它让你的软件管理变得可追溯、可复制、可自动化。你的软件环境可以像代码一样版本管理,换电脑就像 git clone 一样轻松。
2026 年了,是时候告别手动下载安装包的时代了。打开命令提示符,输入 winget search,开始你的高效软件管理之旅吧。
你平时怎么管理电脑上的软件?有没有遇到过重装系统后一个个找安装包的痛苦? 欢迎在评论区分享你的经验,或者提出你在使用 WinGet 时遇到的问题,我会尽力解答。
如果这篇文章对你有帮助,别忘了点个“在看”,让更多人发现这个宝藏工具!
夜雨聆风