Compare (Vergleichen): Unterschied zwischen den Versionen
Aus Wiki-WebPerfect
Admin (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „<source lang="powershell"> $File1 = Get-Content -Path C:\temp\String1.txt $File2 = Get-Content -Path C:\temp\String2.txt Compare-Object -ReferenceObject $File…“) |
Admin (Diskussion | Beiträge) |
||
Zeile 1: | Zeile 1: | ||
+ | == Einfache Version mit zwei Dateien == | ||
<source lang="powershell"> | <source lang="powershell"> | ||
$File1 = Get-Content -Path C:\temp\String1.txt | $File1 = Get-Content -Path C:\temp\String1.txt | ||
Zeile 7: | Zeile 8: | ||
+ | == Erweiterte Version mit zwei temporären Dateien == | ||
+ | <source lang="powershell"> | ||
+ | # Workspace: Speicherort für temporäre Files | ||
+ | $Workspace = "C:\temp" | ||
+ | # String1/2 die verglichen werden sollen. (ersetzen!) | ||
+ | $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 | ||
+ | $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" | ||
+ | </source> | ||
[[Kategorie:PowerShell]] | [[Kategorie:PowerShell]] |
Version vom 25. Juli 2017, 10:38 Uhr
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 die verglichen werden sollen. (ersetzen!) $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 $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"