3

我一辈子都无法将字符串数组的内容(它不是严格键入的,但数组中的所有项目都是字符串)变成一个表格,我正在尝试使用 ConvertTo-HTML。

例如:

$arr = @("One", "Two")
$arr | ConvertTo-HTML

我尝试过-As List,使用片段,甚至使用InputObject,它甚至可能吗?

编辑:我只是想知道是否有使用数组作为 ConvertTo-HTML cmdlet 的输入,它所做的只是用字符串的长度属性制作一个表。

4

2 回答 2

3

ConvertTo-HTML将获取 .NET 对象的集合并输出 HTML 以获得显示对象公共属性的漂亮表格。

System.String只有 1 个公共属性:长度。所以你会得到一个包含 1 列的表格:长度。这是设计使然,并且与正常行为一致。

但听起来您不想要集合对象的公共属性表。您需要一个带有Length属性的表和一个带有ToString()值的列。

为此,我们可以简单地创建一个属性与此目标匹配的自定义对象:

'one','two','three' |%{ New-Object PsObject -Prop @{Length = $_.Length; String = $_} } | ConvertTo-HTML
于 2012-08-27T22:01:40.467 回答
2

Select-Object这是使用cmdlet 和计算属性的另一种方法:

'one','two','three' | Select-Object @{Name='String';Expression={$_}},@{Name='Length';Expression={$_.Length}}
于 2012-08-28T06:46:43.060 回答