PowerShell Format-Custom
最后修改:2025 年 2 月 15 日
在本文中,我们将介绍 PowerShell 中的 Format-Custom
cmdlet。此 cmdlet 以用户定义的自定义视图格式化输出。
格式化基础知识
PowerShell 提供了多种格式化 cmdlet 来控制输出显示。Format-Custom
创建对象的自定义视图。它使用预定义视图或用户定义的属性集。这实现了灵活的输出格式化。
Format-Custom 的基本用法
使用 Format-Custom
的最简单方法是处理单个对象。它以结构化视图显示对象的属性。输出以分层格式显示属性名称和值。
Get-Process -Name "notepad" | Format-Custom
此命令检索记事本进程并以自定义方式格式化它们。输出以结构化的、缩进的格式显示进程详细信息。
格式化特定属性
您可以使用 Format-Custom
选择要显示的特定属性。使用 -Property 参数后跟属性名称。这会创建一个仅显示选定属性的聚焦视图。
Get-Process -Name "chrome" | Format-Custom -Property Name, Id, CPU
此命令仅显示 Chrome 进程的 Name、ID 和 CPU 属性。输出是结构化的,但仅限于指定的属性。
使用 depth 参数
-Depth 参数控制显示多少层嵌套对象。默认情况下,PowerShell 显示最多五层。这可以防止输出过于深入。您可以根据需要进行调整。
Get-Service | Format-Custom -Depth 2
此命令以最大深度 2 显示服务信息。超过此深度的复杂对象将在输出中被截断。
与 Select-Object 结合使用
Format-Custom
可以与 Select-Object
结合使用以获得更多控制。先选择属性,然后以自定义方式格式化它们。这提供了在格式化之前选择属性的灵活性。
Get-Process | Select-Object -First 3 -Property Name, Id, WS | Format-Custom
此命令选择具有特定属性的三个进程,然后格式化它们。输出仅显示自定义格式的选定属性。
带计算属性的自定义视图
您可以为 Format-Custom
创建计算属性。使用带有 Name 和 Expression 键的哈希表。这允许在自定义视图中显示派生值。
Get-Process | Select-Object -First 2 -Property Name, @{ Name="MBMemory"; Expression={$_.WS/1MB} } | Format-Custom
此命令显示进程名称以及以兆字节为单位的工作集内存。计算属性将字节转换为 MB 以提高可读性。
格式化复杂对象
Format-Custom
对于复杂对象特别有用。它可以清晰地显示嵌套属性。这有助于理解对象结构。输出显示了属性之间的关系。
Get-ChildItem | Select-Object -First 1 | Format-Custom
此命令显示文件系统项的详细信息。输出以分层、可读的格式显示所有属性。
使用 Format-Custom 进行分组
您可以将 Group-Object
与 Format-Custom
结合使用。首先按属性对对象进行分组,然后格式化组。这会创建分类数据的结构化视图。
Get-Process | Group-Object -Property Company | Select-Object -First 3 | Format-Custom
此命令按公司名称对进程进行分组并格式化前三个组。输出显示分组结构以及进程详细信息。
来源
在本文中,我们介绍了 PowerShell 中的 Format-Custom cmdlet。
作者
列出 所有 PowerShell 教程。