Powershell Сравнить текстовые файлы и показать различия

Мне нужно выполнить сравнение файлов и использовать Powershell. Мне нужен выходной файл со всеми отличиями. Ниже приведен хороший старт, но мне нужен файл для ввода номеров строк, и полученный в результате объект ввода в настоящее время также отключается после 89 символов. Мне нужна полная строка для отображения:

compare-object (get-content $File1) (get-content $File2) | Out-File $Location

Ответ 1

Объект ввода усекается дисплеем по умолчанию. Чтобы сохранить всю строку в файле:

compare-object (get-content $File1) (get-content $File2) | format-list | Out-File $Location

Ответ 2

$abc = gc .\z.txt | %{$i = 1} { new-object psobject -prop @{LineNum=$i;Text=$_}; $i++}
$cde = gc .\x.txt | %{$i = 1} { new-object psobject -prop @{LineNum=$i;Text=$_}; $i++}
Compare-Object $abc $cde -Property Text -PassThru -IncludeEqual

Попробуйте это, чтобы выплескивать номера строк.

Ответ 3

$apples = Get-Content D:\misc\1.txt
$oranges = Get-Content D:\misc\2.txt

Compare-Object -ReferenceObject $apples -DifferenceObject $oranges -PassThru | Out-File D:\misc\mm.csv

Ответ 4

Я использовал следующее, чтобы сохранить всю строку в файле

Compare-Object -referenceObject $(Get-Content $File1) -differenceObject $(Get-Content $File2) | %{$_.Inputobject + $_.SideIndicator} | ft -auto | out-file $Location -width 5000

Ответ 5

$result= Compare-Object -ReferenceObject $(Get-Content D:\demo\misc\1.txt) -DifferenceObject $(Get-Content D:\demo\misc\1.txt) | Select -Property InputObject 
$result.InputObject

Использованный выше код, чтобы получить разницу в 2 файла

Ответ 6

Я использовал этот ответ https://serverfault.com/a/951843. Это дает гораздо более полезный вывод с моей точки зрения:

  • Содержит номера строк
  • Упорядочено по номерам строк
  • Также использует только команды powershell