Format-List
將輸出格式化為屬性清單,其中每個屬性都會出現在新行上。
語法
Format-List
[[-Property] <Object[]>]
[-GroupBy <Object>]
[-View <string>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <string>]
[-InputObject <psobject>]
[<CommonParameters>]
Description
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 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Expand
指定格式化的集合物件,以及集合中的物件。 此參數的設計目的是要格式化支援 System.Collections.ICollection 介面的物件。 預設值為 EnumOnly
。 此參數可接受的值為:
-
EnumOnly
。 顯示集合中對象的屬性。 -
CoreOnly
。 顯示集合物件的屬性。 -
Both
。 顯示集合物件的屬性和集合中對象的屬性。
類型: | String |
接受的值: | CoreOnly, EnumOnly, Both |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Force
指出此 Cmdlet 會顯示所有錯誤資訊。 搭配 DisplayError 或 ShowError 參數使用。 根據預設,當錯誤物件被寫入錯誤或顯示資料流時,僅顯示部分錯誤資訊。
格式化特定 .NET 類型時也需要 。 如需詳細資訊,請參閱 附註 一節。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-GroupBy
根據共用屬性或值,指定群組中的輸出。 輸入輸出的表達式或屬性。
GroupBy 參數預期物件已排序。 使用 Format-List
來群組物件之前,請先使用 Sort-Object
Cmdlet。
GroupBy 參數的值可以是新的計算屬性。 匯出屬性可以是腳本區塊或哈希表。 有效的鍵值對如下:
-
Name
(或Label
) -<string>
-
Expression
-<string>
或<script block>
FormatString
-<string>
如需詳細資訊,請參閱about_Calculated_Properties。
類型: | Object |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InputObject
指定要格式化的物件。 輸入包含 物件的變數,或輸入取得物件的命令或表達式。
類型: | PSObject |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-Property
指定顯示在顯示中的物件屬性,以及它們出現的順序。 允許使用通配符。
如果您省略此參數,顯示中顯示的屬性取決於所顯示的物件。 參數名稱 屬性 是選擇性的。 您不能在相同的命令中使用 屬性 和 檢視 參數。
Property 參數的值可以是新的計算屬性。 匯出屬性可以是腳本區塊或哈希表。 有效的鍵值對如下:
-
Name
(或Label
) -<string>
-
Expression
-<string>
或<script block>
FormatString
-<string>
如需更多資訊,請參閱 中的 about_Calculated_Properties節。
類型: | Object[] |
Position: | 0 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | True |
-ShowError
表示 cmdlet 會透過管線傳送錯誤。 這個參數很少使用,但是當您在 Format-List
命令中格式化表達式時,可以用來做為偵錯輔助,而且表達式似乎無法運作。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-View
指定替代清單格式或檢視的名稱。 您不能在相同的命令中使用 屬性 和 檢視 參數。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
您可以將任何物件透過管線傳送至此 cmdlet。
輸出
Microsoft.PowerShell.Commands.Internal.Format
此 Cmdlet 會傳回代表清單的格式物件。
備註
Windows PowerShell 包含下列 Format-List
別名:
fl
格式 Cmdlet,例如 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 輸出流時才適用,這需要先透過一般參數擷取它們,例如先使用 ErrorVariable,或者使用重新導向,例如
*>&1
。