Format-List
将输出的格式设置为一个属性列表,其中每个属性都出现在新行上。
语法
Default (默认值)
Format-List
    [[-Property] <Object[]>]
    [-GroupBy <Object>]
    [-View <string>]
    [-ShowError]
    [-DisplayError]
    [-Force]
    [-Expand <string>]
    [-InputObject <psobject>]
    [<CommonParameters>]
说明
              Format-List cmdlet 将命令的输出格式化为一个属性列表,其中每个属性都显示在单独的行上。 可以使用 Format-List 将对象的所有或选定属性的格式和显示为列表(Format-List -Property *)。
由于列表中每个项可用的空间比表中的项多,因此 PowerShell 在列表中显示更多对象的属性,并且属性值不太可能被截断。
示例
示例 1:格式化计算机服务
Get-Service | Format-List
此命令将有关计算机上的服务的信息的格式设置为列表。 默认情况下,服务的格式为表。 
              Get-Service cmdlet 获取表示计算机上的服务的对象。 管道运算符 (|) 通过管道将结果传递给 Format-List。
然后,Format-List 命令设置列表中的服务信息的格式,并将其发送到默认输出 cmdlet 以供显示。
示例 2:设置 PS1XML 文件的格式
这些命令以列表的形式显示有关 PowerShell 目录中 PS1XML 文件的信息。
$A = Get-ChildItem $PSHOME\*.ps1xml
Format-List -InputObject $A
第一个命令获取表示文件的对象,并将其存储在 $A 变量中。
第二个命令使用 Format-List 设置存储在 $A中的对象的信息的格式。 此命令使用 InputObject 参数将变量传递给 Format-List,然后将格式化输出发送到默认输出 cmdlet 以供显示。
示例 3:按名称格式化进程属性
此命令显示计算机上的每个进程的名称、基优先级和优先级类。
Get-Process | Format-List -Property Name, BasePriority, PriorityClass
它使用 Get-Process cmdlet 获取表示每个进程的对象。 管道运算符(|)将进程对象通过管道传递给 Format-List。 
              Format-List 将进程的格式设置为指定属性的列表。 
              属性 参数名称是可选的,因此可以省略它。
示例 4:格式化进程的所有属性
此命令显示 Winlogon 进程的所有属性。
Get-Process winlogon | Format-List -Property *
它使用 Get-Process cmdlet 获取表示 Winlogon 进程的对象。 管道运算符(|)通过管道将 Winlogon 进程对象传递给 Format-List。 该命令使用 Property 参数来指定属性和 * 来指示所有属性。
由于 属性 参数的名称是可选的,因此可以省略该参数并键入命令作为 Format-List *。 
              Format-List 会自动将结果发送到默认输出 cmdlet 以供显示。
示例 5:排查格式错误
以下示例显示了使用表达式添加 DisplayError 或 ShowError 参数的结果。
PC /> Get-Date | Format-List DayOfWeek,{ $_ / $null } -DisplayError
DayOfWeek    : Friday
 $_ / $null  : #ERR
PC /> Get-Date | Format-List DayOfWeek,{ $_ / $null } -ShowError
DayOfWeek    : Friday
 $_ / $null  :
Failed to evaluate expression " $_ / $null ".
+ CategoryInfo          : InvalidArgument: (12/21/2018 7:59:23 AM:PSObject) [], RuntimeException
+ FullyQualifiedErrorId : PSPropertyExpressionError
参数
-DisplayError 
		指示此 cmdlet 在命令行上显示错误。 此参数很少使用,但当你在 Format-List 命令中设置表达式的格式时,可用作调试辅助,并且表达式似乎不起作用。
参数属性
| 类型: | SwitchParameter | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
(All)
| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-Expand
指定格式化的集合对象以及集合中的对象。 此参数旨在格式化支持 System.Collections.ICollection 接口的对象。 默认值是 EnumOnly。 此参数的可接受值为:
- 
              EnumOnly。 显示集合中对象的属性。
- 
              CoreOnly。 显示集合对象的属性。
- 
              Both。 显示集合对象的属性和集合中对象的属性。
参数属性
| 类型: | String | 
| 默认值: | None | 
| 接受的值: | CoreOnly, EnumOnly, Both | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
(All)
| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-Force
指示此 cmdlet 显示所有错误信息。 与 DisplayError 或 ShowError 参数一起使用。 默认情况下,当错误对象写入错误流或显示流时,只会显示部分错误信息。
设置某些 .NET 类型的格式时也是必需的。 有关详细信息,请参阅 说明 部分。
参数属性
| 类型: | SwitchParameter | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
(All)
| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-GroupBy 
		根据共享属性或值指定组中的输出。 输入输出的表达式或属性。 
              GroupBy 参数需要对对象进行排序。 使用 Sort-Object cmdlet 之后,再使用 Format-List 对对象进行分组。
GroupBy 参数的值可以是新的计算属性。 计算属性可以是脚本块或哈希表。 有效的键值对包括:
- 
              Name(或Label) -<string>
- 
              Expression-<string>或<script block>
- FormatString-- <string>
有关详细信息,请参阅 about_Calculated_Properties。
参数属性
| 类型: | Object | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
(All)
| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-InputObject 
		指定要设置格式的对象。 输入一个包含对象的变量,或键入一个获取对象的命令或表达式。
参数属性
| 类型: | PSObject | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
(All)
| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | True | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-Property
指定显示在显示中的对象属性及其显示顺序。 允许使用通配符。
如果省略此参数,显示中显示的属性取决于所显示的对象。 属性 的参数名称是可选的。 不能在同一命令中使用 属性 和 视图 参数。
属性的 参数值可以是一个新计算得出的属性。 计算属性可以是脚本块或哈希表。 有效的键值对包括:
- 
              Name(或Label) -<string>
- 
              Expression-<string>或<script block>
- FormatString-- <string>
有关详细信息,请参阅 about_Calculated_Properties。
参数属性
| 类型: | Object[] | 
| 默认值: | None | 
| 支持通配符: | True | 
| 不显示: | False | 
参数集
(All)
| Position: | 0 | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-ShowError 
		指示 cmdlet 通过管道发送错误。 此参数很少使用,但当你在 Format-List 命令中设置表达式的格式时,可用作调试辅助,并且表达式似乎不起作用。
参数属性
| 类型: | SwitchParameter | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
(All)
| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-View
指定备用列表格式或视图的名称。 不能在同一命令中使用 属性 和 视图 参数。
参数属性
| 类型: | String | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
(All)
| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
PSObject
你可以通过管道将任何对象传递给此 cmdlet。
输出
Microsoft.PowerShell.Commands.Internal.Format
此 cmdlet 返回表示列表的格式对象。
备注
PowerShell 包含以下与 Format-List相关的别名:
- 所有平台:- fl
 
格式化命令(如 Format-List)用于排列要显示的数据,但不会实际显示这些数据。
数据可通过 PowerShell 的输出功能和包含 Out 谓词的 cmdlet (Out cmdlet)(例如 Out-Host 或 Out-File)来显示。
如果不使用格式 cmdlet,PowerShell 会为其显示的每个对象应用该默认格式。
使用 View 参数可以指定表的备用格式。 可以使用 PowerShell 目录中 *.format.ps1xml 文件中定义的视图,也可以在新的 PS1XML 文件中创建自己的视图,并使用 Update-FormatData cmdlet 将其包含在 PowerShell 中。
              View 参数的备用视图必须使用列表格式,否则命令将失败。 如果备用视图是表,请使用 Format-Table。 如果备用视图不是列表或表,请使用 Format-Custom。
如果要将 Format-List 与 Property 参数一起使用,则需要在以下任一条件下包括 Force 参数:
- 输入对象采用 - ToString()方法进行带外格式化。 这适用于- [string]和 .NET 基元类型,这些类型是内置数值类型的超集,例如- [int]、- [long]等。
- 输入对象没有公共属性。 
- 输入对象是 PowerShell 用于 Success 输出流以外的输出流的包装器类型的实例。 这仅在将这些包装器类型发送到 Success 输出流时适用,这需要要么先通过常见参数(例如 ErrorVariable)捕获它们,要么使用诸如 - *>&1的重定向。