加入或连接两个Powershell变量

时间:2015-12-23 11:03:40

标签: powershell variables

尝试将两个变量与其中的数组连接起来。

第一个变量包含:

 PS C:\WINDOWS\system32> $svcStatus

    Response Status
    -------- ------
         200 OK 

第二个变量包含:

PS C:\WINDOWS\system32> $svcCall 

displayName     serviceTypeUrl                                                                                port servicePort
-----------     --------------                                                                                ---- -----------
AutnTestService http://demo1.ravn.co.uk/ravn-manage/api/v2/service_types/0310bf36-8fbd-4543-a79e-2b59f288d7e3 9000        9002


加入时

PS C:\WINDOWS\system32>$mansvcApp = -join $svcStatus, $svcCall
$mansvcApp 
@{Response=200; Status=OK}

displayName     serviceTypeUrl                                                                                port servicePort
-----------     --------------                                                                                ---- -----------
AutnTestService http://demo1.ravn.co.uk/ravn-manage/api/v2/service_types/0310bf36-8fbd-4543-a79e-2b59f288d7e3 9000        9002

如何让它看起来像这样:

displayName     serviceTypeUrl                                          port servicePort Response status
-----------     --------------                                          ---- ----------- -------- ------
AutnTestService http://demo1.blah.co.uk/blah/api/v2/service_types/0310b 9000    9002        200     OK

1 个答案:

答案 0 :(得分:2)

你可以这样做的一种方式是:

$svcStatus | Add-Member -MemberType NoteProperty -Name displayname -Value $svcCall.displayname
$svcStatus | Add-Member -MemberType NoteProperty -Name serviceTypeUrl -Value $svcCall.serviceTypeUrl

如果您要添加多个列并且不想进行大量输入,那么您可以使用循环来执行此操作:

$svcCall | Get-Member -MemberType NoteProperty | % {
    $n = $_.name
    $svcStatus | Add-Member -MemberType NoteProperty -Name $n -Value $svcCall."$n"
}