很多人第一次装 Windows 都会经历同一个循环:装完系统→翻浏览器找下载链接→一个个点安装→过一阵子又要更新/换机再来一遍。其实 Windows 自带的包管理器 winget 可以把“装机”和“软件维护”变成一套可复用的命令流程:可搜索、可批量安装、可更新、还能导出清单在新电脑上一键复现。
winget 官方文档:https://learn.microsoft.com/windows/package-manager/winget/
winget-cli GitHub:https://github.com/microsoft/winget-cli
一般来说,Windows 10/11 的新版系统(以及更新到较新版本的“应用安装程序 App Installer”)会自带 winget。你可以先在 PowerShell 或 Windows Terminal 里检查版本:
winget --version
如果提示命令不存在,优先去 Microsoft Store 更新“应用安装程序(App Installer)”,而不是从不明来源下载可执行文件。这样更稳定,也更安全。
winget 的搜索结果可能会出现相似名称的软件(比如不同发行版、社区维护版本或不同来源)。建议先搜索,再用 show 看清楚包的来源与发布者。
搜索示例:
winget search "Visual Studio Code"
查看包信息(把你看到的 Id 替换进去):
winget show Microsoft.VisualStudioCode
实用经验:尽量选择发布者明确、来源可信的条目;在公司或多设备环境里,这一步能显著减少“装错版本、装到山寨包”的概率。
安装软件:
winget install Microsoft.VisualStudioCode
如需避免交互提示、适合写入装机脚本,可以增加参数(不同软件对静默参数支持程度不同):
winget install Microsoft.VisualStudioCode --silent --accept-source-agreements --accept-package-agreements
卸载软件(先用 list 确认名称/Id):
winget list
winget uninstall Microsoft.VisualStudioCode
更新所有可更新的软件:
winget upgrade --all
只更新某一个:
winget upgrade Microsoft.PowerToys
提示:部分软件可能会因为安装方式不同(例如通过商店安装、手工安装、便携版)导致 winget 无法管理或无法识别,这是正常情况。你可以把这些软件当作“例外清单”,换成别的管理方式(例如商店更新、官方自带更新器)。
当你把一台电脑配置到顺手状态后,最有价值的动作其实是“导出一份清单”,以后换电脑或重装时就不需要回忆自己到底装了哪些工具。
导出当前软件清单到文件(建议放到你的同步盘里):
winget export -o winget-apps.json
在新电脑上导入并安装(会按清单尝试安装缺失的软件):
winget import -i winget-apps.json --accept-source-agreements --accept-package-agreements
建议做法:把这份 JSON 当作“装机配置”,每次加新软件就重新导出一次,版本迭代起来会很轻松。
1)搜索结果太多/Id 不确定:先用 winget show 确认发布者与来源,再安装。
2)升级失败或提示需要权限:有的软件升级/卸载需要管理员权限,建议在 Windows Terminal 里用管理员身份运行。
3)同名软件装了多个版本:用 winget list 找到实际安装项,再决定卸载哪个;别只凭“名字像”就操作。
4)导入后有个别软件没装上:通常是包不可用、地区/来源限制或软件本身不支持静默安装。把失败项记录下来,改为手工安装即可。
你可以按这个顺序跑一遍,让装机更稳定:
1)更新系统与 Microsoft Store(保证 winget 组件是新的)
2)安装 Windows Terminal / PowerShell 相关工具(如果你常用)
3)用 winget 批量安装常用软件(浏览器、输入法、压缩、开发工具、效率工具等)
4)跑一次 winget upgrade --all 把版本拉齐
5)导出 winget export 作为“当前基线”
到这里,你就把一次性劳动变成了可迭代的流程。之后无论是重装系统、换新电脑,还是给家人/同事配置一台一致的环境,都能明显省时间。