如何使用winget安装多个软件包?是否有原生支持方案?
使用winget批量安装软件包的方法
原生支持的实现方式
目前winget已经提供了原生的批量安装方案,核心是通过配置文件导入的方式:
- 首先创建一个JSON格式的配置文件(比如命名为
packages.json),在文件中列出需要安装的软件包ID,示例内容如下:
{ "Sources": [ { "Name": "winget" } ], "Packages": [ { "PackageIdentifier": "Microsoft.VisualStudioCode" }, { "PackageIdentifier": "Google.Chrome" }, { "PackageIdentifier": "Docker.DockerDesktop" } ] }
- 执行导入命令即可批量安装所有列在文件中的包:
winget import --file packages.json
另外,你还可以导出当前系统已安装的winget包配置,方便后续复用或迁移:winget export --file installed-packages.json
其他可行的批量安装方案
你提到的那种早期方案并不是唯一的,还有以下几种常用方式:
- 命令行直接串联执行:在PowerShell或CMD中直接用分号分隔多个安装命令,比如:
winget install Microsoft.VisualStudioCode; winget install Google.Chrome - 批量遍历执行:把需要安装的包ID逐行写入一个文本文件(比如
packages.txt),然后用PowerShell循环读取并安装:
Get-Content .\packages.txt | ForEach-Object { winget install $_ }
关于方案唯一性的说明
你提到的那个早期方法并不是唯一方案,而且现在winget已经推出了更规范、更易维护的原生配置文件导入方式,这也是官方推荐的批量安装方法。
内容的提问来源于stack exchange,提问作者emoxam
相关产品推荐
相关产品推荐

