我使用Powershell读取各种XML配置文件,然后使用format-table -autosize命令以一个漂亮的表格格式显示输出并输出为文本文件.
由于配置文件时不时变化,如果有任何更改,我每天都会在SVN存储库中更新这些文本文件.真正好的是,我可以回过头来查看特定配置更改发生的历史记录.
然而,我遇到的一个问题是有时配置条目比前几天"更宽",因此导致从一天到下一天的列比以前更宽.
我的问题是......如果我有办法为format-table命令中的每一列指定默认宽度,而不是依靠Powershell自动调整.
我意识到我可以使用format-table或format-table -autosize ....我发现使用-autosize似乎更好,因为否则每行和列之间的间距是非常浪费的.
任何想法或方法来解决这个问题将不胜感激.大多数配置至少有10列或更多....通常包含URL,端口号等.
您可以使用哈希表来指定宽度,例如:
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是简称Expression和w缩写Width.您可以使用这些名称的短格式或长格式.为了完整起见,有一个对齐字段(a简称)可以是Left,Center或者Right.这些设置Format-Table在Property参数信息下的帮助中记录.