File1.txt memiliki

line1
line2
line3

File2.txt memiliki

line2
line4
line5
line6

Untuk membandingkan dan menemukan perbedaan dan menulis ke file3.txt :

Compare-Object (Get-Content file1.txt ) -DifferenceObject (Get-Content file2.txt ) -PassThru | Out-File file3.txt

#append the difference to add to file1:
$From = Get-Content -Path .\file3.txt
Add-Content -Path .\file1.txt -Value $From

Ketika saya melakukan di atas saya mendapatkan output di bawah ini:

line1
line2
line3line1
line3
line4
line5
line6

Output yang diharapkan di file1.txt adalah

line1
line2
line3
line4
line5
line6
0
script0207 1 Maret 2020, 14:11

1 menjawab

Jawaban Terbaik

Jika file kecil, berikut ini akan bekerja untuk Anda:

$file1 = Get-Content file1.txt
$file2 = Get-Content file2.txt
$file3 = Compare-Object -ReferenceObject $file1 -DifferenceObject $file2 -PassThru | where SideIndicator -ne '<='

Out-File -InputObject ($file1 + $file3) -FilePath .\file1.txt
1
MikeSh 1 Maret 2020, 12:52