about_Objects
简短说明
提供了有关 PowerShell 中的对象的基本信息。
长说明
你在 PowerShell 中执行的每个操作都发生在对象上下文中。 当数据从一个命令移动到下一个命令时,它作为一个或多个可识别对象移动。 因此,对象是表示项的数据集合。 对象由三种类型的数据组成:对象类型、其方法和属性。
类型、方法和属性
对象类型表明它是什么类型的对象。 例如,表示文件的对象是 FileInfo 对象。
对象方法是可以对对象执行的操作。 例如,FileInfo 对象具有 CopyTo 方法,可用于复制文件。
对象属性存储有关对象的信息。 例如,FileInfo 对象有一个 LastWriteTime 属性,用于存储最近访问该文件的日期和时间。
使用对象时,可以在命令中使用其方法和属性来执行操作并管理数据。
可以使用 Get-Member 或 psobject
内部成员发现对象属性和方法。
管道中的对象
当各个命令在管道中组合时,它们将信息作为对象相互传递。 第一个命令运行时,它会将一个或多个对象通过管道发送到第二个命令。 第二个命令从第一个命令接收对象,处理对象,然后将新的或修订的对象传递到管道中的下一个命令。 此过程持续进行,直至管道中的所有命令都运行。
以下示例演示了如何将对象从一个命令传递到下一个命令:
Get-ChildItem C: | where { $_.PsIsContainer -eq $false } | Format-List
第一个命令 Get-ChildItem C:
返回文件系统根目录中每个项的文件或目录对象。 文件和目录对象沿着管道传递到第二个命令。
第二个命令 where { $_.PsIsContainer -eq $false }
使用所有文件系统对象的 PsIsContainer 属性来仅选择其 PsIsContainer 属性值为 False ($false
) 的文件。 文件夹是容器,因此其 PsIsContainer 属性值为 True ($true
),不会被选择。
第二个命令仅将文件对象传递给第三个命令 Format-List
,后者在列表中显示文件对象。