Format-Table 帮助信息

如下说明是翻译 PowerShell : help Format-Table 产生的帮助信息 .
译者 : Edengundam( 马涛 )
 
Format-Table
 
摘要
将输出格式化为表格形式 .
 
语法
Format-Table [[-property] <Object[]>] [-autosize] [-hideTableHeaders] [-groupBy <Object>] [-wrap] [-view <string>] [-force] [-inputObject <psobject>] [-expand <string>] [-displayError] [-showError] [<CommonParameters>]
 
详细描述
Format-Table cmdlet 将命令产生的输出格式化表格形式 , 每个选择的对象属性显示在一列 . 对象的类型决定默认的布局和在每列显示的属性 , 然而你可以使用参数 Property 选择你想查看的属性 .
 
你还可以在显示信息之前 , 使用 Format-Table 向对象中添加动态计算的属性 . 要完成这个操作 , 你需要为参数 Property 指定一个哈希表 . 哈希表包含了两个键 : Label Expression. 将动态计算的属性名称存储在 Label 键中 . Expression 键中保存用于求值和确定属性值的代码块 .
 
参数
 
-property <Object[]>
指定要在屏幕上显示的对象属性及其显示顺序 . 允许使用通配符
 
如果你忽略此参数 , 屏幕上显示的属性将会根据需要显示的对象决定 . 参数名称 ("-Property") 为可选项 . 你不能在同一个命令中同时使用 Property View 参数 .
 
强制参数 ?
false
参数位置 ?
1
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-autosize <SwitchParameter>
根据数据的宽度调整列尺寸和列数 . 默认情况下 , 列尺寸和列数通过视图确定 . 你不能在同一个命令中同时使用 Autosize Column 参数 .
 
强制参数 ?
false
参数位置 ?
named
默认值
False
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-hideTableHeaders <SwitchParameter>
省略表中列标题 .
 
强制参数 ?
false
参数位置 ?
named
默认值
False
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-groupBy <Object>
根据共享的属性或值将输出结果进行分组 . 输入一个表达式或输出的属性 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-wrap <SwitchParameter>
在下一行继续显示超出列宽度的文本 . 默认情况下 , 超出列宽度的文本将被截断 .
 
强制参数 ?
false
参数位置 ?
named
默认值
False
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-view <string>
指定其他的表格式 ( 或视图 ). 你不能在同一个命令中同时使用 Property View 参数 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-force <SwitchParameter>
在不破坏安全前提下 , 能够避免影响命令成功执行的限制条件 . 例如 : Force 参数能够覆盖具有只读属性的文件或创建路径中的必要成分 , 但是不会改变人和文件的权限 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-inputObject <psobject>
指定需要格式化的对象 . 输入一个包含对象的变量 , 或者一个能够产生对象的命令或表达式 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
true ( 根据值 )
允许通配符扩展 ?
false
 
-expand <string>
格式化集合和集合中元素 . 设计此参数用于格式化那些支持 ICollection(System.Collections) 接口的对象 .
 
合法取值 :
 
·          Enum ( 默认 ): 显示集合中元素的属性 .
·          Core: 显示集合对象的属性 .
·          Both: 显示集合和集合中元素的属性 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-displayError <SwitchParameter>
在命令行上显示错误 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-showError <SwitchParameter>
通过管道发送错误 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
< 公共参数 >
此命令支持公共参数 : -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. 更多信息 , 输入 , "get-help about_commonparameters".
 
输入类型
Object
 
返回类型
Formatted objects
 
注意
 
更多信息 , 输入 "Get-Help Format-Table -detailed". 需要技术信息 , 输入 "Get-Help Format-Table -full".
 
如果需要为该命令提供多个参数 , 请使用逗号进行分隔 . 例如 : "<parameter-name> <value1>, <value2>".
 
你可以使用 Format-Table 内建别名 "FT". 需要更多信息 , 查看 About_Alias .
 
参数 -Groupby 假设对象已经排序 . 在使用 Format-Custom 对对象进行分组前 , 使用 Sort-Object 将它们排序 .
 
参数 -View 允许您指定表的可选格式 . 你可以使用定义在 Windows PowerShell 目录中 *.format.PS1XML 文件中的格式 , 或者创建属于你自己的 PS1XML 文件 , 并使用 Update-FormatData cmdlet 将它们添加到 Windows PowerShell .
 
参数 View 使用的可选视图必须是表格式 ; 如果不是 , 命令将会执行失败 . 如果可选视图为列表 , 使用 Format-List . 如果可选视图既不是列表也不是表 , 使用 Format-Custom .
 
你可以使用 Format-Table 为对象添加动态计算的属性 . 你还可以通过使用 Add-Member Select-Object 命令为对象添加动态计算的属性 . 更多细节 , 请查看这些 cmdlet 的帮助 .
 
1
 
C:/PS>get-pssnapin | format-table -auto
 
此命令将 Windows PowerShell 管理单元的相关信息格式化为表格 . 默认情况下 , 它们被格式化为列表 . Get-PsSnapin cmdlets 取得表示管理单元的对象 . 管道运算符 (|) 将对象发送给 Format-Table 命令 . Format-Table 将对象格式化为表格 . 参数 Autosize 调整列表 , 尽量避免截断的信息 .
 
2
 
C:/PS>get-process | format-table -groupby basepriority -wrap
 
此命令根据优先级的类别将本机进程进行分组 . Get-Process cmdlets 取得表示计算机上每个进程的对象 . 管道运算符 (|) 将对象发送给 Format-Table 命令 . 参数 Groupby 将根据进程 basepriority 对进程进行分组 . 参数 Wrap 保证一行无法显示下的数据被显示在新的一行 , 而不是将其截断 .
 
3
 
C:/PS>get-process | sort-object starttime | format-table -view starttime
 
此命令根据进程启动时间将本机进程进行分组 . 它使用 Get-Process cmdlet 取得表示计算机上每个进程的对象 . 管道运算符 (|) Get-Process 的输出发送给 Sort-Object cmdlet, 后者根据 StartTime 属性进行排序 . 另一个管道运算符将排序结果发送给 Format-Table.
 
参数 View 被用来选择定义在 DotNetTypes.format.ps1xml 文件中的 StartTime 视图 , 此视图是用来格式化 System.Diagnostics.Process 对象 ( 例如命令 Get-Process 返回的对象 ). 此视图将进程的 StartTime 属性转化成短日期 ( 只包含年月日 ), 并根据启动日期进行分组 .
 
DotNetTypes.format.ps1xml 还包括了关于进程的优先级视图 , 你还能创建自己的 format.ps1xml 文件来自定义视图 .
 
4
 
C:/PS>get-service | format-table -property Name, DependentServices
 
此命令将计算机上所有的服务显示在一个两列的表格中 ( 列名称 : "Name" "DependentServices"). 此命令使用 Get-Service cmdlet 取得计算机上所有的服务 . 管道运算符 (|) 将结果发送给 Format-Table cmdlet, 后者将它们格式化 , 并输出为表格形式 . 参数 Property 指定了作为表格中列的属性 . 参数 Property 的名称为可选项 , 所以你可以简单省略它 ("format-table Name, DependentServices").
 
Name DependentServices 只是服务对象的两个属性而已 . 要查看服务对象的所有属性 , 键入 "get-service | get-member".
 
5
 
C:/PS>get-process notepad | format-table ProcessName, @Label="TotalRunningTime"; Expression={(get-date) - $_.StartTime}}
 
此命令显示如何在表格中使用动态计算属性 . 此命令显示的表格中包含所有本地计算机上的 Notepad 进程的进程名称和它们的运行时间 . 运行时间的计算是将当前时间减去每个进程启动的时间 .
 
命令使用了 Get-Process cmdlet 取得本地计算机上所有名为 "Notepad" 的进程 . 管道运算符 (|) 将结果发送给 Format-Table, 后者显示具有两列的表格 : ProcessName 是一个标准的进程属性 , "TotalRunningTime", 是一个动态计算属性 .
 
TotalRunningTime 属性是通过具有两个键 ("Label" "Expression") 的哈希表指定的 . 将动态计算的属性名称存储在 Label 键中 . Expression 键中保存用于求值和确定属性值的代码块 . 这里的表达式通过 Get-Date 命令取得当前日期减去每个进程对象的 StartTime 属性值 .
 
6
 
C:/PS>$processes = get-wmiobject -ComputerName Server01 `
win32_process -filter "name='notepad.exe'"
$processes | format-table ProcessName, @{ Label = "Total  Running Time"; `
Expression={(get-date) - $_.ConvertToDateTime($_.CreationDate)}}
 
此命令类似前一个命令 , 但是此命令使用了 Get-WmiObject cmdlet 以及 Win32_Processes 类来显示一个远程计算机上 Notepad 进程的信息 .
 
此命令使用 Get-WmiObject cmdlet 取得 Win32_Process WMI 类的实例 , 它描述了计算机 Server01 上所有名为 Notepad.exe 的进程 . 此命令将进程的信息存储在变量 $processes . 管道运算符 (|) 将存储在 $processes 变量中的进程信息发送给 Format-Table cmdlet, 后者显示每个进程的进程名称以及一个新的动态计算属性 .
 
新的动态创建属性名称为 "Total Running Time", 它被赋予给 "Label" . 脚本块被赋予给 Expression , 它通过当前时间减去进程创建时间来计算进程已经运行的时间 . Get-Date cmdlet 取得当前时间 . ConvertToDateTime 方法将 Win32_process 对象的 CreationDate 属性 , WMI CIM_DATETIME 对象转换为一个 .NET DateTime 对象 , 后者可以用来与 Get-Date 的输出进行比较 . 接下来 , 用当前时间减去被转换的进程创建时间 . 结果就是 "Total Running Time" 的值 .
 
反引号符号 (`) 是行继续字符 .
 
相关链接
Format-Custom
Format-List
Format-Wide
Out-Host
Out-File
 

你可能感兴趣的:(Format-Table 帮助信息)