在 PowerShell 中退出 Foreach 对象
ForEach-Object
cmdlet 允许用户遍历集合并对输入对象集合中的每个项目进行操作。在 ForEach-Object
中,输入对象通过管道传送到 cmdlet 或使用 -InputObject
参数指定。
在 PowerShell 中构造 ForEach-Object
命令有两种不同的方法:脚本块
和操作语句
。ForEach-Object
cmdlet 运行每个输入对象的脚本块或操作语句。
使用脚本块
来指定操作。 $_
变量在脚本块中用于表示当前输入对象。
script block
可以包含任何 PowerShell 脚本。例如,以下命令获取计算机上安装的每个 cmdlet 的 Name
属性、函数和 aliases
的值。
Get-Command | ForEach-Object {$_.Name}
构造 ForEach-Object
命令的另一种方法是使用 operation
语句。你可以使用操作语句指定属性值或调用方法。
Get-Command | ForEach-Object Name
有时,在某些情况下,你可能想要退出 ForEach-Object
,但它的工作方式与 ForEach
语句不同。在 ForEach-Object
中,一旦生成每个对象,就会执行该语句。
在 ForEach
语句中,在循环执行之前收集所有对象。ForEach-Object
是一个 cmdlet,而不是实际的循环。
当你使用 break
或 continue
退出循环时,整个脚本将终止,而不是跳过它后面的语句。但是,可以使用 PowerShell 中的某些条件退出 ForEach-Object
对象。
使用 break
条件从 PowerShell 中的 ForEach-Object
退出
我们创建了一个对象集合 $numbers
用作 ForEach-Object
中的输入对象。
$numbers = "one","two","three","four","five"
Where-Object
cmdlet 允许你根据属性值从集合中选择对象。你可以先在 Where-Object
中应用退出逻辑,然后将对象传递给 ForEach-Object
。
然后使用如下所示的 break
条件从 PowerShell 中的 ForEach-Object
退出。
$Break = $False;
$numbers | Where-Object { $Break -eq $False } | ForEach-Object {
$Break = $_ -eq "three";
Write-Host "The number is $_.";
}
当对象值等于 three
时,ForEach-Object
将跳过对对象集合的迭代。因此,我们将退出 PowerShell 中的 ForEach-Object
。
输出:
The number is one.
The number is two.
The number is three.
使用 if
从 PowerShell 中的 ForEach-Object 退出
在此方法中,你需要在对象集合中使用 empty
值以退出 PowerShell 中的 ForEach-Object
。例如,你可以使用 if
条件退出 ForEach-Object
。
$numbers = "one","two","three","","four"
$numbers | ForEach-Object{
if($_ -eq ""){
break;
}
Write-Host "The number is $_."
}
我们创建了一个对象集合 $numbers
,其中包含字母数字和一个空值。
在 ForEach-Object
中,我们创建了一个 if
条件,它表明对象的值是否等于 null
,然后打破 ForEach-Object
语句。
输出:
The number is one.
The number is two.
The number is three.
正如我们所看到的,程序的输出最多打印到 三
。对象集合中有一个空值。
该程序在它之后终止。这样,我们就可以得到结果并退出 ForEach-Object
。
相关文章
使用 PowerShell 过滤文件和文件夹
发布时间:2024/02/05 浏览次数:195 分类:编程语言
-
本文将讨论 PowerShell Get-ChildItem cmdlet,我们将使用它来获取目录中的所有项目并利用其过滤器开关参数。在某些情况下,我们需要检查文件是否存在于特定位置或目录中。
从 PowerShell 中的文件名中删除路径和扩展名
发布时间:2024/02/05 浏览次数:86 分类:编程语言
-
本教程将介绍在 PowerShell 中从文件名中删除路径和扩展名的不同方法。PowerShell 支持处理系统中的各种文件操作。你可以在 PowerShell 中执行创建、复制、移动、重命名、编辑、删除和查看文件等
使用 PowerShell 连接文件
发布时间:2024/02/05 浏览次数:159 分类:编程语言
-
本教程将教你使用 PowerShell 连接文件。PowerShell 允许你执行不同的文件操作,例如创建、复制、移动、删除、查看和重命名文件。
使用 PowerShell 从路径中提取文件名
发布时间:2024/02/05 浏览次数:52 分类:编程语言
-
本教程将教你如何使用 PowerShell 从路径中提取文件名。文件路径告诉文件在系统上的位置。在 PowerShell 中处理文件时,你可能只需要从路径中获取文件名。
使用 PowerShell 从计算机存储中删除证书
发布时间:2024/02/05 浏览次数:200 分类:编程语言
-
本教程将教你使用 PowerShell 从证书存储中删除证书。在 Windows 操作系统中,证书存储在计算机本地的证书存储中。它包含不同认证机构颁发的各种证书。
在 PowerShell 中清除变量内容
发布时间:2024/02/05 浏览次数:69 分类:编程语言
-
本教程将教你在 PowerShell 中清除变量内容。变量是值的存储位置。你可以将所有类型的值存储在 PowerShell 变量中。
PowerShell 中的空变量
发布时间:2024/02/05 浏览次数:64 分类:编程语言
-
本文讨论了 null 变量、在 PowerShell 中以不同语法使用 null 变量的影响以及检查 null 值的方法。PowerShell 处理值为 null 的 $Null 对象,并且某些命令需要一些输出才能生成。
PowerShell 中的管道变量
发布时间:2024/02/05 浏览次数:77 分类:编程语言
-
本文将向我们展示如何通过使用 PowerShell 的管道变量在 Windows PowerShell 中使用相同的概念和技术。我们通常使用 this 变量或关键字来表示各种编程语言中表达式中出现的最后一个对象。
使用 PowerShell 测试变量的数据类型
发布时间:2024/02/05 浏览次数:104 分类:编程语言
-
本文将讨论如何处理可变数据类型不匹配的几种方法,以及如何使用 PowerShell 正确纠正它们。我们通常使用的 PowerShell 中的一种技术是获取用户输入并将其存储在变量中。