PowerShell中的ForEach-Object对输入对象集合中的每个项目执行语句块。这些对象通过管道传递, 或通过使用-InputObject参数指定。
在PowerShell 3.0版本的启动中, 以下是构造ForEach-Object命令的两种不同方式:
- 操作说明
- 脚本块
句法
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:驱动器访问文件和文件夹
在此示例中, 我们使用管道符号(|), 该符号用于将get-childitem的输出传递给ForEach-Object命令。并且写主机用于显示该值。
在命令中, $ _是一个特殊变量, 它处理通过管道传递的任何值。
评论前必须登录!
注册