Compare (Vergleichen)

Aus Wiki-WebPerfect
Wechseln zu: Navigation, Suche

Einfache Version mit zwei Dateien

$File1 = Get-Content -Path C:\temp\String1.txt
$File2 = Get-Content -Path C:\temp\String2.txt
 
Compare-Object -ReferenceObject $File1 -DifferenceObject $File2 | Sort-Object -Property InputObject


Erweiterte Version mit zwei temporären Dateien

# Workspace: Speicherort für temporäre Files
$Workspace = "C:\temp"
 
# String1/2 ersetzen! (Diese werden verglichen)
$String1 = "
Hallo1
HAllo3
Hallo2
"
 
$String2 = "
Hallo123
Hallo2
HAllo1
"
 
 
 
# Temporäre Files
    New-Item -Path "$Workspace\File1.txt" -ItemType file -Force
    New-Item -Path "$Workspace\File2.txt" -ItemType file -Force
 
# Hinzufügen der Strings in die Files
    Add-Content -Value $String1 -Path "$Workspace\File1.txt" 
    Add-Content -Value $String2 -Path "$Workspace\File2.txt" 
 
# Vergleich der zwei Files (nur Unterschiede werden angezeigt)
    $MissingInFile1 = Compare-Object -ReferenceObject (Get-Content -Path "$Workspace\File1.txt") -DifferenceObject (Get-Content -Path "$Workspace\File2.txt") | Where {$_.SideIndicator -eq '=>'} | Sort-Object -Property InputObject
    $MissingInFile2 = Compare-Object -ReferenceObject (Get-Content -Path "$Workspace\File1.txt") -DifferenceObject (Get-Content -Path "$Workspace\File2.txt") | Where {$_.SideIndicator -eq '<='} | Sort-Object -Property InputObject
 
# Alle fehlende Werte in dem Sring1/File1
    $a = @{Label="InputObject"; Expression={$_.InputObject}}, `
    @{Label="Test"; Expression={$MissingInString1}}
 
    $MissingInString1 = "Fehlt in dem String1/File1"
    $MissingInFile1 | Format-Table $a
 
# Alle fehlende Werte in dem Sring2/File2
    $a = @{Label="InputObject"; Expression={$_.InputObject}}, `
    @{Label="Test"; Expression={$MissingInString2}}
 
    $MissingInString2 = "Fehlt in dem String2/File2"
    $MissingInFile2 | Format-Table $a
 
# Remove der temporären Files
    Remove-Item -Path "$Workspace\File1.txt"
    Remove-Item -Path "$Workspace\File2.txt"