我不能让我的生活得到一个字符串数组的内容(好吧,它没有严格的类型,但数组中的所有项都是字符串)成为一个表,我试图使用ConvertTo-HTML。
例如:
$arr = @("One", "Two")
$arr | ConvertTo-HTML
我已经尝试过-As List,使用片段,甚至使用InputObject,它甚至可能吗?
编辑:我只是想知道是否有使用数组作为ConvertTo-HTML cmdlet的输入,它所做的就是创建一个具有字符串长度属性的表。
答案 0 :(得分:3)
ConvertTo-HTML
将获取.NET对象的集合并输出HTML,以便为对象的公共属性绘制一个漂亮的表。
System.String
只有1个公共财产:长度。所以你会得到一个包含1列的表:长度。这是设计并与正常行为一致。
但听起来你不想要一个包含集合对象的公共属性的表。您需要具有Length
属性的表和具有ToString()
值的列。
为实现这一目标,我们可以简单地创建一个属性与此目标匹配的自定义对象:
'one','two','three' |%{ New-Object PsObject -Prop @{Length = $_.Length; String = $_} } | ConvertTo-HTML
答案 1 :(得分:2)
以下是使用Select-Object
cmdlet和计算属性的另一种方法:
'one','two','three' | Select-Object @{Name='String';Expression={$_}},@{Name='Length';Expression={$_.Length}}