PowerShell ForEach-Object遍历对象

PowerShell中的ForEach-Object对输入对象集合中的每个项目执行语句块。这些对象通过管道传递, 或通过使用-InputObject参数指定。
在PowerShell 3.0版本的启动中, 以下是构造ForEach-Object命令的两种不同方式:

  1. 操作说明
  2. 脚本块
句法
ForEach-Object [-MemberName] < String> [-ArgumentList < Object[]> ] [-Confirm] [-InputObject < PSObject> ] [-WhatIf][< CommonParameters> ]

ForEach-Object [-Process] < ScriptBlock[]> [-Begin < ScriptBlock> ] [-Confirm] [-End < ScriptBlock> ] [-InputObject < PSObject> ] [-RemainingScripts < ScriptBlock[]> ] [-WhatIf] [< CommonParameters> ]

参数
以下是ForEach-Object cmdlet中使用的不同参数:
-成员名字
此参数用于指定调用方法和要获取的属性。
-ArgumentList
此参数用于指定用于调用方法的参数数组。
-确认
该参数在执行cmdlet之前提示你进行确认。
-InputObject
此参数用于指定输入对象。该cmdlet在每个输入对象上执行脚本块或操作语句。当我们在ForEach-Object中使用此参数时, 此参数的值将被视为单个对象。
-如果
此参数用于显示如果执行cmdlet将会发生的情况。该cmdlet将不会执行。
-处理
此参数用于指定在每个输入对象上执行的操作。输入描述操作的脚本块。
-开始
此参数用于指定脚本块, 该脚本块在cmdlet处理任何输入对象之前执行。
-结束
此参数用于指定脚本块, 该脚本块在cmdlet处理所有输入对象之后执行。
-剩余脚本
此参数用于指定所有那些脚本块, -Process参数不使用这些脚本块。
示例:从D:驱动器访问文件和文件夹
PowerShell ForEach-Object遍历对象

文章图片
在此示例中, 我们使用管道符号(|), 该符号用于将get-childitem的输出传递给ForEach-Object命令。并且写主机用于显示该值。
【PowerShell ForEach-Object遍历对象】在命令中, $ _是一个特殊变量, 它处理通过管道传递的任何值。

    推荐阅读