powershell - 等待每个 Powershell
问题描述
我正在通过powershell中的for each命令安装一堆文件,但是脚本不会等到执行完成才移动到下一个文件,我如何确保它在移动到下一个文件之前等待每个文件的完成一?到目前为止,这是我的代码。
$files = Get-ChildTtem $PSScriptroot
foreach ($file in $files)
{
if($file.extension.ToUpper() -eq ".appxbundle")
{
Add-AppxPackage $file.fullname -InstallAllResources
}
}
解决方案
您应该能够使用Start-Job
and Wait-Job
cmdlet 来完成此操作:
$files = Get-ChildTtem $PSScriptroot
foreach ($file in $files)
{
if($file.extension.ToUpper() -eq ".appxbundle")
{
Start-Job -Name Job1 -ScriptBlock { Add-AppxPackage $file.fullname -InstallAllResources }
Wait-Job -Name Job1
}
}
推荐阅读
- rpm - rpm:列出不必要的依赖项,例如 dpkg-shlibdeps 吗?
- php - PostgreSQL 中的 ID 列 (Laravel 5.8)
- excel - 具有四个输出选项的 Excel IF 和 AND 形式
- laravel - 如何在 laravel 的编辑表单中检索单选按钮、复选框和多选的值
- python - 字符串列 Pandas 数据框的中位数
- nginx - 403 Forbidden: "/path/to/files" 的目录索引被禁止 Nginx
- php - 电子邮件管道脚本在后缀中以无人身份而不是真实用户身份运行
- php - 教义 findBy() 在同一行重复 n 次
- javascript - 需要帮助重构我的 Javascript 代码 (D3)
- python-3.x - 有没有办法获取整个 IMDB 评论数据库?