You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell循环批量安装Chocolatey软件包?

在PowerShell中批量安装Chocolatey软件包

没问题!既然你熟悉Linux/Mac的Bash循环逻辑,在PowerShell里实现Chocolatey包的批量安装其实非常直观,我给你两种实用方案——既满足你对循环逻辑的好奇,也提供更高效的原生Chocolatey批量安装方式。

方案1:Chocolatey原生批量安装(最简便)

Chocolatey本身支持一次性安装多个软件包,不需要额外写循环,直接把所有包名(带版本的话按正确格式指定)列在命令里即可,这是效率最高的方式:

首先,把你提供的包列表调整为Chocolatey支持的格式(指定版本需要用--version=版本号参数,而非空格分隔),然后执行以下命令:

choco install `
chocolatey --version=0.10.15 `
androidstudio --version=3.5.3.0 `
atom --version=1.41.0.20191029 `
awk --version=4.2.132 `
chocolatey-core.extension --version=1.3.5 `
chocolatey-dotnetfx.extension --version=1.0.1 `
chocolatey-visualstudio.extension --version=1.8.1 `
chocolatey-windowsupdate.extension --version=1.0.4 `
CrystalReports2010Runtime --version=13.0.18 `
curl --version=7.67.0 `
docker --version=99.0.0 `
docker-cli --version=19.03.3 `
DotNet3.5 --version=3.5.20160716 `
dotnetcore-runtime --version=3.1.0 `
dotnetcoresdk --version=1.0.1 `
dotnetfx --version=4.8.0.20190930 `
filezilla --version=3.46.0 `
flashplayeractivex --version=32.0.0.303 `
flashplayerplugin --version=32.0.0.293 `
gawk --version=5.0.1 `
gimp --version=2.10.14 `
git --version=2.24.0 `
git.install --version=2.24.0 `
gitlab-runner --version=12.5.0 `
GoogleChrome --version=80.0.3987.116 `
gpg4win-vanilla --version=2.3.4.20191021 `
grafana --version=6.3.6 `
grep --version=2.1032 `
jdk8 --version=8.0.231 `
jenkins-x --version=2.0.1082 `
jq --version=1.6 `
KB2533623 --version=1.0.4 `
KB2919355 --version=1.0.20160915 `
KB2919442 --version=1.0.20160915 `
KB2999226 --version=1.0.20181019 `
KB3033929 --version=1.0.5 `
KB3035131 --version=1.0.3 `
kubernetes-cli --version=1.17.0 `
less --version=5.51.0.20191024 `
minikube --version=1.6.1 `
mysql-odbc --version=5.3.12 `
nano --version=2.5.3 `
nodejs.install --version=13.3.0 `
openssh --version=8.0.0.1 `
openvpn --version=2.4.7 `
postgresql --version=12.1 `
postgresql12 --version=12.1 `
postman --version=7.13.0 `
prometheus --version=2.2.1 `
prometheus-wmi-exporter.install --version=0.9.0 `
putty --version=0.73 `
putty.portable --version=0.73 `
python --version=3.8.0 `
python3 --version=3.8.0 `
random-number-generator --version=3.0.0 `
ruby --version=2.6.5.1 `
rubymine --version=2019.2.4 `
runinbash --version=0.1.1 `
sed --version=4.7 `
teamviewer --version=15.0.8397 `
unzip --version=6.0 `
vagrant --version=2.2.6 `
vault --version=1.3.0 `
vcredist140 --version=14.23.27820 `
vcredist2013 --version=12.0.40660.20180427 `
vcredist2015 --version=14.0.24215.20170201 `
vim --version=8.1.2318 `
visioviewer --version=16.0 `
visioviewer2016 --version=16.0 `
visualstudio-installer --version=2.0.1 `
visualstudio2019community --version=16.3.10.0 `
vlc --version=3.0.8 `
Wget --version=1.20.3.20190531 `
-y

注:每行末尾的反引号是PowerShell的换行续行符,让长命令更易读;-y`参数和你单个安装时用的一样,用来自动确认所有安装提示。

方案2:PowerShell循环安装(适配你的Bash习惯)

如果你想实现类似Bash的循环逻辑,我们可以把所有包(带版本参数)存成PowerShell数组,然后用foreach循环逐个安装,和你熟悉的Bash逻辑几乎一致:

# 定义包含所有包(带版本参数)的数组
$packages = @(
    "chocolatey --version=0.10.15",
    "androidstudio --version=3.5.3.0",
    "atom --version=1.41.0.20191029",
    "awk --version=4.2.132",
    "chocolatey-core.extension --version=1.3.5",
    "chocolatey-dotnetfx.extension --version=1.0.1",
    "chocolatey-visualstudio.extension --version=1.8.1",
    "chocolatey-windowsupdate.extension --version=1.0.4",
    "CrystalReports2010Runtime --version=13.0.18",
    "curl --version=7.67.0",
    "docker --version=99.0.0",
    "docker-cli --version=19.03.3",
    "DotNet3.5 --version=3.5.20160716",
    "dotnetcore-runtime --version=3.1.0",
    "dotnetcoresdk --version=1.0.1",
    "dotnetfx --version=4.8.0.20190930",
    "filezilla --version=3.46.0",
    "flashplayeractivex --version=32.0.0.303",
    "flashplayerplugin --version=32.0.0.293",
    "gawk --version=5.0.1",
    "gimp --version=2.10.14",
    "git --version=2.24.0",
    "git.install --version=2.24.0",
    "gitlab-runner --version=12.5.0",
    "GoogleChrome --version=80.0.3987.116",
    "gpg4win-vanilla --version=2.3.4.20191021",
    "grafana --version=6.3.6",
    "grep --version=2.1032",
    "jdk8 --version=8.0.231",
    "jenkins-x --version=2.0.1082",
    "jq --version=1.6",
    "KB2533623 --version=1.0.4",
    "KB2919355 --version=1.0.20160915",
    "KB2919442 --version=1.0.20160915",
    "KB2999226 --version=1.0.20181019",
    "KB3033929 --version=1.0.5",
    "KB3035131 --version=1.0.3",
    "kubernetes-cli --version=1.17.0",
    "less --version=5.51.0.20191024",
    "minikube --version=1.6.1",
    "mysql-odbc --version=5.3.12",
    "nano --version=2.5.3",
    "nodejs.install --version=13.3.0",
    "openssh --version=8.0.0.1",
    "openvpn --version=2.4.7",
    "postgresql --version=12.1",
    "postgresql12 --version=12.1",
    "postman --version=7.13.0",
    "prometheus --version=2.2.1",
    "prometheus-wmi-exporter.install --version=0.9.0",
    "putty --version=0.73",
    "putty.portable --version=0.73",
    "python --version=3.8.0",
    "python3 --version=3.8.0",
    "random-number-generator --version=3.0.0",
    "ruby --version=2.6.5.1",
    "rubymine --version=2019.2.4",
    "runinbash --version=0.1.1",
    "sed --version=4.7",
    "teamviewer --version=15.0.8397",
    "unzip --version=6.0",
    "vagrant --version=2.2.6",
    "vault --version=1.3.0",
    "vcredist140 --version=14.23.27820",
    "vcredist2013 --version=12.0.40660.20180427",
    "vcredist2015 --version=14.0.24215.20170201",
    "vim --version=8.1.2318",
    "visioviewer --version=16.0",
    "visioviewer2016 --version=16.0",
    "visualstudio-installer --version=2.0.1",
    "visualstudio2019community --version=16.3.10.0",
    "vlc --version=3.0.8",
    "Wget --version=1.20.3.20190531"
)

# 循环安装每个包,同时输出当前进度
foreach ($pkg in $packages) {
    Write-Host "正在安装: $pkg"
    choco install $pkg -y
}

这个逻辑和你在Bash里写的for pkg in "${pkgs[@]}"; do echo "Installing $pkg"; choco install $pkg -y; done几乎完全对应,Write-Host用来输出当前安装的包名,方便你跟踪进度。

小提示

  • 如果你不需要指定版本,直接写包名即可(比如choco install git -y会安装最新版);
  • 执行PowerShell命令时,记得以管理员身份启动PowerShell,否则部分系统级包可能安装失败;
  • 如果安装过程中某个包失败,Chocolatey会继续安装下一个包,你之后可以单独重新安装失败的包。

内容的提问来源于stack exchange,提问作者R. Barrett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 07:04:12