Format-List

將輸出格式化為屬性清單,其中每個屬性都會出現在新行上。

Syntax

Format-List
      [[-Property] <Object[]>]
      [-GroupBy <Object>]
      [-View <string>]
      [-ShowError]
      [-DisplayError]
      [-Force]
      [-Expand <string>]
      [-InputObject <psobject>]
      [<CommonParameters>]

Description

Cmdlet 會將 Format-List 命令的輸出格式化為屬性清單,其中每個屬性都會顯示在個別行上。 您可以使用 Format-List 來格式化和顯示物件的所有或選取屬性做為清單 (Format-List -Property *)。

因為清單中每個專案可用的空間比數據表中的每一個專案都多,因此 PowerShell 會在清單中顯示更多物件的屬性,而且屬性值不太可能被截斷。

範例

範例 1:格式化計算機服務

Get-Service | Format-List

此命令會將電腦上的服務相關信息格式化為清單。 根據預設,服務會格式化為數據表。 Cmdlet Get-Service 會取得物件,代表計算機上的服務。 管線運算子 (|) 會將結果通過管線傳遞至 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-ListFormat-List 將進程格式化為指定屬性的清單。 Property 參數名稱是選擇性的,因此您可以省略它。

範例 4:格式化進程的所有屬性

此命令會顯示 Winlogon 程式的所有屬性。

Get-Process winlogon | Format-List -Property *

它會使用 Get-Process Cmdlet 來取得代表 Winlogon 進程的物件。 管線運算子 (|) 會將 Winlogon 行程物件透過管線傳遞至 Format-List。 命令會 使用 Property 參數來指定屬性和 * ,以指出所有屬性。 因為 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 格式化表達式時,可用來做為偵錯輔助,而且表達式似乎無法運作。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Expand

指定格式化的集合物件,以及集合中的物件。 此參數的設計目的是要格式化支援 System.Collections.ICollection 介面的物件。 預設值是 EnumOnly。 此參數可接受的值為:

  • EnumOnly. 顯示集合中對象的屬性。
  • CoreOnly. 顯示集合物件的屬性。
  • Both. 顯示集合物件的屬性和集合中對象的屬性。
Type:String
Accepted values:CoreOnly, EnumOnly, Both
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

指出此 Cmdlet 會顯示所有錯誤資訊。 搭配 DisplayError 或 ShowError 參數使用。 根據預設,當錯誤物件寫入錯誤或顯示數據流時,只會顯示一些錯誤資訊。

格式化特定 .NET 類型時也需要 。 如需詳細資訊,請參閱 附注 一節。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-GroupBy

根據共用屬性或值,指定群組中的輸出。 輸入輸出的表達式或屬性。

GroupBy 參數的值可以是新的導出屬性。 匯出屬性可以是腳本區塊或哈希表。 有效的機碼/值組如下:

  • Name (或 Label)- <string>
  • Expression - <string><script block>
  • FormatString - <string>

如需詳細資訊,請參閱 about_Calculated_Properties

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

指定要格式化的物件。 輸入包含 物件的變數,或輸入取得物件的命令或表達式。

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Property

指定顯示在顯示中的物件屬性,以及它們出現的順序。 允許通配符。

如果您省略此參數,顯示中顯示的屬性取決於所顯示的物件。 參數名稱 屬性 是選擇性的。 您無法在同一個命令中使用 PropertyView 參數。

Property 參數的值可以是新的導出屬性。 匯出屬性可以是腳本區塊或哈希表。 有效的機碼/值組如下:

  • Name (或 Label)- <string>
  • Expression - <string><script block>
  • FormatString - <string>

如需詳細資訊,請參閱 about_Calculated_Properties

Type:Object[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-ShowError

指出 Cmdlet 會透過管線傳送錯誤。 這個參數很少使用,但是當您在命令中 Format-List 格式化表達式時,可用來做為偵錯輔助,而且表達式似乎無法運作。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-View

指定替代清單格式或檢視的名稱。 您無法在同一個命令中使用 PropertyView 參數。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

PSObject

您可以使用管線將任何物件傳送至此 Cmdlet。

輸出

Microsoft.PowerShell.Commands.Internal.Format

此 Cmdlet 會傳回代表清單的格式物件。

備註

PowerShell 包含下列的 Format-List別名:

  • 所有平臺:
    • fl

格式 Cmdlet,例如 Format-List,排列要顯示但不會顯示的數據。 資料會由 PowerShell 的輸出功能以及包含 Out 動詞命令的 Out Cmdlet 顯示,例如 Out-HostOut-File

如果您未使用格式 Cmdlet,PowerShell 會針對它所顯示的每個物件套用該預設格式。

GroupBy 參數會假設物件已排序。 使用 之前,請先使用 Sort-ObjectFormat-List 來群組物件。

View 參數可讓您指定資料表的替代格式。 您可以使用 PowerShell 目錄中檔案中 *.format.PS1XML 定義的檢視,也可以在新的 PS1XML 檔案中建立自己的檢視,並使用 Update-FormatData Cmdlet 將它們包含在 PowerShell 中。

View 參數的替代檢視必須使用清單格式,否則命令會失敗。 如果替代檢視是資料表, 請使用 Format-Table。 如果替代檢視不是清單或資料表,請使用 Format-Custom

如果您想要搭配 Property 參數使用Format-List,您必須在下列任一條件下包含 Force 參數: