简短说明
提供有关 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 属性来仅选择其 $false 属性中值为 False()的文件。 文件夹是容器,因此在其 $true 属性中,其值为 True(),因此未被选中。
第二个命令仅将文件对象传递给第三个命令 Format-List,该命令在列表中显示文件对象。