我正在尝试做这样的事情(试图使它看起来像一张桌子,但是没有使用markdown,html或一堆空格):
列1
位置信息
位置#
地点名称
位置电话
位置地址
Column2
[空白]
1
NYC
789-987-1234
12 Some Blvd
栏3
网络信息
位置八位字节
外部知识
其他一些知识产权
更多Ips
Column4
[空白]
345个
10.89.52.468
10.346.345.1
10.326.345.2
我尝试过创建新对象,将数组/哈希转换为csv,然后又回来了,我没有运气。我已经阅读了一些其他线程,但它们都包含了已经创建对象的cmdlet的使用,并且正在使用它。我认为从csv转换成了那个,我认为,但是如何将它转换回来可能会被关闭。因此上表是6列和5行,顶行具有列2和4是空白的。
我真的很想学习如何做到这一点,因为我可能也会将它用于其他任务。
答案 0 :(得分:1)
我相信你正在努力实现这样的目标? :
$col1=@("Location info","Location #","Location name","Location phone","Location address");
$col2=@("","1","NYC","789-987-1234","12 Some Blvd");
$col3=@("Network info","Location Octet","External IP","Some other IP","More Ips");
$col4=@("","345","10.89.52.468","10.346.345.1","10.326.345.2");
$hash=@{"Column1"=$col1;"Column2"=$col2;"Column3"=$col3;"Column4"=$col4};
$obj = New-Object PSObject -Property $hash
$obj|Format-Table -Wrap -AutoSize
您将获得指定的数据。您可以使用-ExpandProperty“Column1”(例如,如果要扩展其所有值)。如果要创建数据的html表,可以使用ConvertTo-Html。
但是,我会考虑在另一个方面构建数据。如何将这些数据保存在单独的对象中而不是以这种方式格式化?
你可以,例如有一组对象,其属性表示您想要的内容。 例如。具有代表性数据的对象:
$obj = new-object PSObject -Property @{"Location info"="My loc"; "Location #"="My location"}
$obj2 = new-object PSObject -Property @{"Location info"="My loc2"; "Location #"="My location2"}
$myLocations = @($obj,$obj2);
这更具代表性,您可以为您想要的属性播放和格式化$ myLocations。