2017-08-17 101 views
1

我使用Compare-Object cmdlet比較來自不同來源(不同列/屬性名稱)的兩個CSV文件。如何在輸出中包含CSV文件中的屬性而不將它們包含在比較中?比較對象幷包含未在輸出中進行比較的屬性

例CSV數據

users1.csv

 
e-mail-address,name,side 
[email protected],Luke,light 

users2.csv

 
e-mail-address,hiredate,hobbies 
[email protected],5/2/17,Sabacc 

下面給出我與電子郵件地址和側指示器列,但我怎樣才能得到$Users1.name$Users2.hiredate而不使用它們在t他比較?

$Users1 = Import-Csv users1.csv 
$Users2 = Import-Csv users2.csv 

Compare-Object $Users1 $Users2 -Property "E-mail-Address" 

想我類似的輸出:

 
e-mail-address | SideIndicator | name | hiredate 
---------------|---------------|------|---------- 
[email protected] | <=   | Luke | 
[email protected] | =>   |  | 5/2/17 

回答

3

添加PassThru參數有Compare-Object回報所有屬性,然後使用Select-Objectnamehiredate屬性:

Compare-Object $users1 $users2 -Property e-mail-address -PassThru|Select-Object e-mail-address,SideIndicator,name,hiredate 
+0

優秀的作品。謝謝您的幫助! – YEMyslf