2017-08-17 94 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