Format-List
將輸出格式化為屬性清單,其中每個屬性都會出現在新行上。
語法
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-List
。 Format-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
格式化表達式時,可用來做為偵錯輔助,而且表達式似乎無法運作。
類型: | 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 參數的值可以是新的導出屬性。 匯出屬性可以是腳本區塊或哈希表。 有效的機碼/值組如下:
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 和 View 參數。
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
指定替代清單格式或檢視的名稱。 您無法在同一個命令中使用 Property 和 View 參數。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
您可以使用管線將任何物件傳送至此 Cmdlet。
輸出
Microsoft.PowerShell.Commands.Internal.Format
此 Cmdlet 會傳回代表清單的格式物件。
備註
PowerShell 包含下列的 Format-List
別名:
- 所有平臺:
fl
格式 Cmdlet,例如 Format-List
,排列要顯示但不會顯示的數據。
資料會由 PowerShell 的輸出功能以及包含 Out
動詞命令的 Out
Cmdlet 顯示,例如 Out-Host
或 Out-File
。
如果您未使用格式 Cmdlet,PowerShell 會針對它所顯示的每個物件套用該預設格式。
GroupBy 參數會假設物件已排序。 使用 之前,請先使用 Sort-Object
Format-List
來群組物件。
View 參數可讓您指定資料表的替代格式。 您可以使用 PowerShell 目錄中檔案中 *.format.PS1XML
定義的檢視,也可以在新的 PS1XML 檔案中建立自己的檢視,並使用 Update-FormatData
Cmdlet 將它們包含在 PowerShell 中。
View 參數的替代檢視必須使用清單格式,否則命令會失敗。 如果替代檢視是資料表, 請使用 Format-Table
。 如果替代檢視不是清單或資料表,請使用 Format-Custom
。
如果您想要搭配 Property 參數使用Format-List
,您必須在下列任一條件下包含 Force 參數:
輸入物件會使用
ToString()
方法來格式化頻外。 這適用於[string]
和 .NET 基本型別,這些類型是內建數值類型的超集,例如[int]
、[long]
和其他類型。輸入對象沒有公用屬性。
輸入物件是PowerShell用於成功輸出數據流以外的輸出數據流包裝函式類型的實例。 只有當這些包裝函式類型傳送到 Success 輸出數據流時,才適用,這需要先透過 ErrorVariable 等常見參數擷取它們,或使用例如的
*>&1
重新導向。