概述
winget(Windows 程序包管理器/Windows Package Manager)是微软为 win10+ 开发的一款开源的软件包管理器,于 2020年5月的 Microsoft Build 开发者大会上发布。
winget 可以卸载
winget list
显示出的所有软件,包括电脑上的大多数软件,如 Windows 系统自带的、手动安装的、Chocolatey 安装的部分等。唯一不足的是,卸载时会被弹出的卸载窗口打断,降低了自动化的一致性。
从帮助上手
对于命令行工具,学习的第一抓手永远是内置的帮助文档。可以通过以下命令查看帮助:
1 | winget --help |
通过帮助文档可知,winget 命令格式为:winget [<命令>] [<选项>]
,目前可用的命令如下:
命令 | 说明 |
---|---|
install | 安装给定的程序包 |
show | 显示包的相关信息 |
source | 管理程序包的来源 |
search | 查找并显示程序包的基本信息 |
list | 显示已安装的程序包 |
upgrade | 升级给定的程序包 |
uninstall | 卸载给定的程序包 |
hash | 哈希安装程序的帮助程序 |
validate | 验证清单文件 |
settings | 打开设置或设置管理员设置 |
features | 显示实验性功能的状态 |
export | 导出已安装程序包的列表 |
import | 安装文件中的所有程序包 |
日常使用流
通常情况下,使用 winget 的流程为“查询-安装-更新-卸载”,因此执行命令大致如下:
1 | winget search APPNAME |
如果不清除具体命令的用法,可以使用 winget <命令> -?
命令查看对应命令的帮助文档。
使用体验及注意事项
winget 版本(通过
winget -v
查看)v1.2.10271
目前,winget 大多数尤其是常用命令的执行效率不高,开始执行后通常会有一个漫长的 loading 过程。
并且尝试将其用于脚本进行批处理可能效果不会太好。首先,如果安装程序启动了另一进程,可能会提前返回,继续安装下一个程序——当安装顺序很重要时,这就会是一个问题。其次,卸载时可能弹出卸载窗口,也会造成问题。