显示数组的内容和结构

时间:2016-05-04 20:54:58

标签: powershell

显示数组的内容和结构

PS C:\> $a = 1,2,3
PS C:\> $b = 4,5,6
PS C:\> $c = $a,$b
PS C:\> $c
1
2
3
4
5
6

$c不是数字数组,而是数组数组。但是当我显示其内容时,此结构不可见。

是否有任何内置方式来显示数组的内容,以保留结构?也许是这样的:

@( @(1, 2, 3), @(4, 5, 6) )

1 个答案:

答案 0 :(得分:1)

要显示的内置方式是在评论中回答的 PetSerAl 是使用Format-Custom cmdlet。它使用默认视图或自定义视图格式化输出。阅读更多MSDN

代码(由PetSerAl回答)是:

Format-Custom -InputObject $c -Expand CoreOnly

如果您希望以您提到的格式显示,则需要编写自己的PowerShell代码段。请注意,您也可以使用Pipeline编写相同的内容。我扩大了对可读性的支持。

$a = 1,2,3
$b = 4,5,6
$c = $a,$b

$arrayForDisplay = "@( "
foreach($array in $c)
{
    $arrayForDisplay += "@( "
    foreach($arrayelement in $array)
    {
        $arrayForDisplay += $arrayelement.ToString() + ","
    }

    $arrayForDisplay = $arrayForDisplay -replace ".$"
    $arrayForDisplay += " ), "
}
$arrayForDisplay = $arrayForDisplay.Trim() -replace ".$"
$arrayForDisplay += " )"

$arrayForDisplay