当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 PowerShell 中打印对象 [5 种方法]

作者:精品下载站 日期:2024-12-14 05:28:00 浏览:14 分类:玩电脑

在 PowerShell 中打印对象 [5 种方法]


[玩转系统] 在 PowerShell 中打印对象 [5 种方法]

在Powershell中打印对象的属性

在 PowerShell 中,对象是包含属性和方法的数据结构。对象本质上是 .NET 类的实例,可以使用 New-Object cmdlet 创建。 PowerShell 对象在 PowerShell 脚本编写中广泛使用。

例如,许多 cmdlet 返回对象作为输出,这些对象可以用作其他 cmdlet 的输入或使用 PowerShell 的面向对象功能进行操作。

通过向现有对象添加新属性和方法或基于现有对象类型创建新对象,可以轻松扩展和自定义 PowerShell 对象。

让我们创建一个对象来打印其属性,如下所示:

创建 Powershell 对象:

$object = New-Object PSObject -Property @{
    Name = "John"
    Age = 35
    City = "New York"
}

新对象 $object 定义了三个属性 NameAgeCity。现在,让我们继续使用不同的方法来显示属性。

使用 Get-Member Cmdlet

使用 Get-Member cmdlet 查看对象的属性。

使用获取成员 Cmdlet:

$object | Get-Member -MemberType NoteProperty

输出 :

TypeName: System.Management.Automation.PSCustomObject
Name MemberType   Definition
---- ----------   ----------
Age  NoteProperty int Age=35
City NoteProperty string City=New York
Name NoteProperty string Name=John

我们使用 Get-Member cmdlet 和 NoteProperty 成员类型来查看 $object 的所有属性。如果要查看$object的属性和方法,请使用All而不是NoteProperty

Get-Member cmdlet 可以接受 -MemberType 选项的各种值(您可以在此处找到),而 All 是默认值。

使用Select-Object Cmdlet

使用Select-Object cmdlet 显示对象的特定属性。

使用选择对象 Cmdlet:

$object | Select-Object Name, Age

输出 :

Name Age     
---- ---  
John  35 

在这里,我们使用了 Select-Object cmdlet,它用于选择对象属性或一个对象或一组对象。

我们还可以使用它来选择数组中给定位置的对象、唯一对象或特定数量的对象。我们还可以将Select-Object-ExpandProperty参数一起使用来显示指定属性的值。

使用-ExpandProperty参数:

$object | Select-Object -ExpandProperty City

输出 :

New York 

使用Format-Table Cmdlet

使用Format-Table cmdlet 以表格格式显示对象的属性。

使用格式表 Cmdlet:

$object | Format-Table -Property Name, Age, City

输出 :

Name   Age    City    
----   ---    ----    
John   35    New York  

格式表用于以表格格式显示所选属性。

使用表示法

使用表示法直接访问对象的属性。

使用点符号:

$object.Name

输出 :

John

如果您知道属性名称并想要检索其值,点符号会很有帮助。

到目前为止,我们已经学会了显示一个对象属性的不同方法;如果我们必须显示多个对象的特定或所有属性怎么办?下面让我们看看如何做到这一点。

使用 ForEach-Object Cmdlet

要在 PowerShell 中打印不同对象的属性:

  • 创建两个对象。
  • 创建上一步中创建的对象的数组。
  • 使用 ForEach-Object 打印第二步中创建的数组中所有对象的指定属性。

使用 ForEach-Object Cmdlet:

$object1 = New-Object PSObject -Property @{
    Name = "John"
    Age = 35
    City = "New York"
}
$object2 = New-Object PSObject -Property @{
    Name = "Jim"
    Age = 40
    City = "Washington"
}
$objects = @($object1, $object2)
$objects | ForEach-Object { $_.Name}

输出 :

John
Jim

首先,我们创建了两个名为 $object1$object2 的对象;如何创建一个对象?我们在文章开头就已经了解了。接下来,我们使用 @() 表示的数组运算符创建一个对象数组,并将其存储在与 ForEach-Object cmdlet 一起使用的 $objects 变量中遍历数组中的所有对象并打印它们的 Name 属性。这里,$_代表当前对象。

这些方法都有优点和局限性,最好的方法取决于具体的用例。如果您想打印整个对象,则只需编写 $YourObjectName 并按 Enter 即可。

这就是如何在 PowerShell 中打印对象的全部内容。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯