windows - 如何使用类似于 requirements.txt 的内容通过 Chocolatey 包安装 Forloop
问题描述
所以我正在使用 Chocolatey 来帮助在计算机上安装包,并且想知道是否有一种方法可以在 powershell 中循环遍历它。我对使用 Linux 和 Mac 的 Bash 中的 for 循环比使用 Windows 更熟悉,所以想知道是否有人可以给我一些见解,
我基本上正在运行以下场景:
choc install <package_name> -y
我需要一次安装所有这些包:
Chocolatey v0.10.15
androidstudio 3.5.3.0
atom 1.41.0.20191029
awk 4.2.132
chocolatey 0.10.15
chocolatey-core.extension 1.3.5
chocolatey-dotnetfx.extension 1.0.1
chocolatey-visualstudio.extension 1.8.1
chocolatey-windowsupdate.extension 1.0.4
CrystalReports2010Runtime 13.0.18
curl 7.67.0
docker 99.0.0
docker-cli 19.03.3
DotNet3.5 3.5.20160716
dotnetcore-runtime 3.1.0
dotnetcoresdk 1.0.1
dotnetfx 4.8.0.20190930
filezilla 3.46.0
flashplayeractivex 32.0.0.303
flashplayerplugin 32.0.0.293
gawk 5.0.1
gimp 2.10.14
git 2.24.0
git.install 2.24.0
gitlab-runner 12.5.0
GoogleChrome 80.0.3987.116
gpg4win-vanilla 2.3.4.20191021
grafana 6.3.6
grep 2.1032
jdk8 8.0.231
jenkins-x 2.0.1082
jq 1.6
KB2533623 1.0.4
KB2919355 1.0.20160915
KB2919442 1.0.20160915
KB2999226 1.0.20181019
KB3033929 1.0.5
KB3035131 1.0.3
kubernetes-cli 1.17.0
less 5.51.0.20191024
minikube 1.6.1
mysql-odbc 5.3.12
nano 2.5.3
nodejs.install 13.3.0
openssh 8.0.0.1
openvpn 2.4.7
postgresql 12.1
postgresql12 12.1
postman 7.13.0
prometheus 2.2.1
prometheus-wmi-exporter.install 0.9.0
putty 0.73
putty.portable 0.73
python 3.8.0
python3 3.8.0
random-number-generator 3.0.0
ruby 2.6.5.1
rubymine 2019.2.4
runinbash 0.1.1
sed 4.7
teamviewer 15.0.8397
unzip 6.0
vagrant 2.2.6
vault 1.3.0
vcredist140 14.23.27820
vcredist2013 12.0.40660.20180427
vcredist2015 14.0.24215.20170201
vim 8.1.2318
visioviewer 16.0
visioviewer2016 16.0
visualstudio-installer 2.0.1
visualstudio2019community 16.3.10.0
vlc 3.0.8
Wget 1.20.3.20190531
我怎样才能做到这一点?
解决方案
当您运行外部命令(或任何命令)时,该命令的输出可以通过管道传输到 PowerShell 命令中。由于您的命令输出包含包名称的单行,因此该输出可以通过管道传输到Foreach-Object中,每个包(PowerShell 术语中的对象)都可以在其中处理。
<package output command> | Foreach-Object { choc install $_ -y }
当前正在处理的对象Foreach-Object
是$_
或$PSItem
。
推荐阅读
- javascript - 如何检查用户 x 是否在聊天中发送了两条以上的消息并隐藏他的名字
- java - java.lang.ClassCastException:java.lang.String 不能转换为 java.lang.Double
- visual-studio-code - 为什么 VSCode 的 Intellisense 无法解析 #if defined(__GNUC__)?
- javascript - reactjs - redux 表单和材质 ui 框架 - 具有自动类型和清除字段功能
- android - 我的应用程序上的 Android Studio 警告:app:stripDebugDebugSymbols UP-TO-DATE
- python - 删除异常值,同时保留数据框中的时间戳
- excel - VBA Excel 另存为 xlDBF4
- python - 比较两个列表的相同值
- node.js - 如何呈现节点生成参数
- android - ContrainstLayout 未填充 Android 应用程序中的屏幕尺寸