I have two csv files:
ipaddress,port 10.140.11.1,80 10.140.11.2,80
ipaddress,port 10.140.11.1,80 10.140.11.2,8008
The question is how to
You can obtain the list of CSV column properties via Get-Member -MemberType NoteProperty
, then pass that list to Compare-Object
.
# get list of CSV properties
$props1 = $file1 | gm -MemberType NoteProperty | select -expand Name | sort | % {"$_"}
$props2 = $file2 | gm -MemberType NoteProperty | select -expand Name | sort | % {"$_"}
# first check that properties match (can omit this step if you know for sure they will be)
if(Compare-Object $props1 $props2)
{
throw "Properties are not the same! [$props1] [$props2]"
}
# pass properties list to Compare-Object
else
{
Compare-Object $file1 $file2 -Property $props1
}