Powershell和格式表

use*_*741 2 svn powershell

我使用Powershell读取各种XML配置文件,然后使用format-table -autosize命令以一个漂亮的表格格式显示输出并输出为文本文件.

由于配置文件时不时变化,如果有任何更改,我每天都会在SVN存储库中更新这些文本文件.真正好的是,我可以回过头来查看特定配置更改发生的历史记录.

然而,我遇到的一个问题是有时配置条目比前几天"更宽",因此导致从一天到下一天的列比以前更宽.

我的问题是......如果我有办法为format-table命令中的每一列指定默认宽度,而不是依靠Powershell自动调整.

我意识到我可以使用format-table或format-table -autosize ....我发现使用-autosize似乎更好,因为否则每行和列之间的间距是非常浪费的.

任何想法或方法来解决这个问题将不胜感激.大多数配置至少有10列或更多....通常包含URL,端口号等.

Kei*_*ill 5

您可以使用哈希表来指定宽度,例如:

Get-Process -id $pid | 
  ft -prop @{n='Name';e={$_.Name};width=20},@{n='Id';e={$_.Id};w=8},@{n='PM';e={$_.PM};w=18}
Run Code Online (Sandbox Code Playgroud)

注意,它n是简称Name,e是简称Expressionw缩写Width.您可以使用这些名称的短格式或长格式.为了完整起见,有一个对齐字段(a简称)可以是Left,Center或者Right.这些设置Format-TableProperty参数信息下的帮助中记录.