如何在 Windows 10 上的 powershell 中缩小列宽?

如何在 Windows 10 上的 powershell 中缩小列宽?

我使用了许多 cmdlet,它们默认以 4-5 列的表格形式显示数据。其中一些数据经常大于默认列宽并被截断,但这没关系,因为每个值的开头都是最有用的部分(例如,当尝试区分来自同一域的电子邮件地址时)。

随着 Windows 10 的升级,默认列宽似乎有所增加。这导致我的列非常宽,显示的字符比我实际需要的要多,但不幸的是,最右边的列由于被“推”出了屏幕而无法输出。

作为一个直观的例子,在 Windows 8 中我有类似这样的情况:

Column 1    Column 2      Column 3      Column 4
--------    --------      --------      --------
Data        Lorem ip...   Lorem ip...   Important data

现在在 Windows 10 中我得到了这个:

Column 1    Column 2                                     Column 3
--------    --------                                     --------    
Data        Lorem ipsum dolor sit amet consectetur ad... Lorem ipsum dolor sit amet...

中间列的宽度可达 64 个字符,从而阻止显示后面的列。简单地重新排列列没有帮助,因为我仍然需要所有列的至少前几个字符。

有没有办法强制 format-table 或其他显示 cmdlet 在设置值(例如 20 个字符)后截断列?最好是缺少某种控制数据显示方式的参数。

答案1

因为Format-Table你只有几个选择。-AutoSize会使它看起来更漂亮,而不是那么分散,如果你-Wrap也把它扔在那里,它会有很大的帮助。

另一个选择是制作自定义表格。示例如下

$a = @{Expression={$_.Name};Label="Process Name";width=25}, `
@{Expression={$_.ID};Label="Process ID";width=15}, `
@{Expression={$_.MainWindowTitle};Label="Window Title";width=40}

Get-Process | Format-Table $a

相关内容