Без правильных примеров как вашего CSV-файла, так и текстового файла, из вашего вопроса, я думаю, я могу понять, что ваш CSV выглядит примерно так:
"Surname","Name"
"Seagal","Steven"
"Rambo","John"
"Schwarzenegger","Arnold"
Глядя на вывод, который вы показалиЯ понимаю, что текстовый файл - это просто набор (первых) имен, каждое в отдельной строке, например:
Steven
Sylvester
John
Чтобы сравнить их, вам нужно отфильтровать только столбец Name
из вашегоФайл CSV, поэтому он будет соответствовать массиву, который вы читаете из текстового файла.(Вы действительно говорите: «. Я должен также упомянуть, что Name является заголовком для этого столбца. »)
Попробуйте это тогда:
# import the .csv file and extract only the 'Name' column from it as string array
$csv = (Import-Csv -Path "D:\blah.csv").Name
# read the .txt file which apparently contains only firstnames, each on a separate line
$txt = Get-Content -Path "D:\names.txt"
Compare-Object -ReferenceObject $txt -DifferenceObject $csv -IncludeEqual
Выполнение этого на примерефайлы, которые я дал, вывод:
InputObject SideIndicator
----------- -------------
Steven ==
John ==
Arnold =>
Sylvester <=
Где
- «Стивен» и «Джон» появляются в обоих файлах,
- «Арнольд» тольконаходится в файле CSV, а
- «Сильвестр» находится в текстовом файле, но не в CSV.