在 Powershell 中,-Property 和 -ExpandProperty 有什么区别?

在 Powershell 中,-Property 和 -ExpandProperty 有什么区别?

运行 cmdlet 时,输出略有不同,我只是想了解两个 cmdlet 之间的区别以及为什么要使用其中一个而不是另一个。

例子:

Get-Date | Select -Property DayOfWeek

输出:

DayOfWeek
---------
Saturday


Get-Date | Select -ExpandProperty DayOfWeek

Saturday

答案1

介绍

您可以通过将任何对象输入到 Powershell 中来检查它格式列表命令:

PS> Get-Date | Format-List

DisplayHint : DateTime
Date        : 2018-10-21 0:00:00
Day         : 21
DayOfWeek   : Sunday
DayOfYear   : 294
Hour        : 18
Kind        : Local
Millisecond : 28
Minute      : 38
Month       : 10
Second      : 36
Ticks       : 636757439160281486
TimeOfDay   : 18:38:36.0281486
Year        : 2018
DateTime    : 21 жовтня 2018 р. 18:38:36

然后,您可以更改对象,例如,使用原始对象的属性子集创建新对象。您可以使用选择对象cmdlet 并包含参数中所需属性的列表-Property

Select-Object有默认别名Select,但我建议在学习 Powershell 并与外部方(例如 Superuser.com)交换代码时不要使用别名,而只使用 cmdlet 的全名,以保持清晰

回答

  • Get-Date | Select-Object -Property DayOfWeekDayOfWeek将创建仅具有由以下函数返回的对象的一个​​属性的对象获取日期

  • Get-Date | Select-Object -ExpandProperty DayOfWeek将返回带有内容财产DayOfWeek

相关内容