PowerShell 在很大程度上提供了開發者的協助,但它無法讀取您的思維。它無法內在地知道您所尋找的輸出類型。它會通過默認格式提供其最佳猜測,但最終決定如何返回輸出則由您來決定。使用 PowerShell 的 Format-Table 命令,您可以調整輸出以適應您的需求。
PowerShell 具有一個格式系統,可以根據對象類型的不同更改輸出的格式,並提供默認輸出。如果您不想學習 XML 以及如何始終以特定方式格式化輸出,您還可以使用像 PowerShell format-table、Format-List
和 Format-Wide
這樣的命令。在文件系統中的 PS1XML 文件或使用任何格式命令都可以以不同的方式顯示輸出。
如果不使用任何特殊格式,預設情況下,PowerShell 會使用其自己的格式。每當返回特定對象時,您可能只能看到該實際對象內容的有限部分。例如,只查看單個文件夾,您只能看到父目錄和一些屬性。
但是,將相同的命令管道到 Select-Object -Property *
,看看會發生什麼。
PowerShell已經將許多物件的屬性隱藏起來,因為通常你不需要看到所有這些信息。PowerShell提供了一個預設的視圖,但這並不意味著這是你唯一的選擇。我們可以通過格式化命令來改變這個視圖。
最受歡迎的格式化命令是Format-Table
。根據PowerShell的幫助文件:
Format-Table命令將命令的輸出格式化為一個表格,每列中的物件選擇的屬性。物件類型確定了默認的佈局和在每列中顯示的屬性,但你可以使用Property參數來選擇你想要看到的屬性。
你還可以使用哈希表在顯示物件之前添加計算的屬性,並指定表格中的列標題。要添加計算的屬性,使用Property或GroupBy參數。
使用Powershell的Format-Table和Select-Object
來選擇個別的物件屬性,如果屬性值不超過當前控制台的寬度,看起來是一樣的。但是一旦你嘗試顯示大量的物件,你會發現Format-Table
仍然保持表格格式,而Select-Object
則會將屬性顯示在每一行上。
Powershell的Format-Table輸出將始終嘗試以表格格式顯示信息。如果屬性值太長無法顯示,它將用省略號替換任何缺失的文本,以指示還有更多的信息可用但未顯示。
Format-Table
命令有很多不同的方式可以操作輸出。請查看 Microsoft docs 上的 完整文件的 Format-Table
。
Source:
https://adamtheautomator.com/powershell-format-table/