Итак, у меня есть два CSV-файла (list1.csv и list2.csv) У них обоих есть эти столбцы:
FirstName LastName MiddleName City
Я хочу проверить list1.csv и посмотреть, соответствуют ли какие-либо строки строке из list2.csv и, если да, удалить ее из list1.
$list1 = import-csv list1.csv
$list2 = import-csv list2.csv
foreach ($item in $list2)
{
$list1 = $list1 | Where {$_.FirstName -ne $item.FirstName -and $_.LastName -ne $item.LastName -and $_.MiddleName -ne $item.MiddleName -and $_.City -ne $item.City}
}
Это дает мне список, содержащий близко к тому, что я хочу, но операторы и в предложении where, кажется, применяются ко всему списку list1, а не к каждой строке, поэтому он отбрасывает некоторые записи, которые я ожидаю присутствовать. Вероятно, есть лучший способ сделать это, но я не буду придумывать много.