2014-02-27 62 views
1

我想創建一個關於已安裝產品的txt文件報告。通過連接的版本是這樣合併輸出的XML屬性

<xmlroot> 
<product definitionName="ProductName" versionMajor="1" versionMinor="1" versionBuild="111"> 
</product> 

現在,經過我的definitionName過濾,我想寫兩個colomns「產品名稱」和「版本」文件:我從一個XML文檔中,這些信息具有以下結構「1.1.111」。

當我這樣做:

$ProductVersions.xmlroot.product | Select-Object -Property definitionName, versionMajor,  versionMinor, versionBuild 

我得到一個列表如下:

definitionName         versionMajor         versionMinor         versionBuild         
--------------         ------------         ------------         ------------         
ProductName          1            1            111  

我想要的是像這樣的列表:

ProductName         Version       
--------------        ------------        
ProductName         1.1.111 

請幫我想辦法。謝謝。

回答

2

試試這個:

PS C:\> $ProductVersions.xmlroot.product | 
Select-Object -Property @{n='ProductName';e={$_.definitionName}}, @{n='Version';e={"$($_.versionMajor).$($_.versionMinor).$($_.versionBuild)"}} 

ProductName                Version                 
-----------                -------                 
ProductName                1.1.111     

稍微乾淨的版本由@Ansgar Wiechars建議:

PS C:\> $ProductVersions.xmlroot.product | 
Select-Object -Property @{n='ProductName';e={$_.definitionName}}, 
    @{n='Version';e={"{0}.{1}.{2}" -f $_.versionMajor, $_.versionMinor, $_.versionBuild}} 

ProductName                Version                 
-----------                -------                 
ProductName                1.1.111                 
+1

你也可以使用格式操盤子表達式:'「{0} {1}。 {2}「-f $ _。versionMajor,$ _。versionMinor,$ _。versionBuild' –

+0

@AnsgarWiechers,我已將該版本添加到我的答案中。 – Duncan

+0

工程太棒了!謝謝! – Monkeynaut