Vergleicht zwei Sätze von Objekten. (Compare-Object)
NAME
Compare-Object
# ÜBERSICHT
Vergleicht zwei Sätze von Objekten.
# SYNTAX
Compare-Object [-ReferenceObject] <PSObject[]> [-DifferenceObject] <PSObject[]> [-CaseSensitive] [-Culture <string>] [-ExcludeDifferent] [-IncludeEqual] [-PassThru] [-Property <Object[]>] [-SyncWindow <int>] [<CommonParameters>]
# BESCHREIBUNG
Das Cmdlet "Compare-Object" vergleicht zwei Objektsätze. Bei einem Objektsatz handelt es sich um den Referenzsatz und bei dem anderen um den Differenzsatz.
Das Vergleichsergebnis gibt an, ob ein Eigenschaftenwert nur im Objekt aus dem Referenzsatz (mit dem Symbol <= angegeben), nur im Objekt aus dem Differenzsatz (mit dem Symbol => angegeben) oder, wenn der IncludeEqual-Parameter angegeben wurde, in beiden Objekten (mit dem Symbol == angegeben) vorhanden war.
# PARAMETER
-CaseSensitive [<SwitchParameter>]
Gibt an, dass bei Vergleichen die Groß-/Kleinschreibung berücksichtigt werden soll.
Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false
-Culture <string>
Gibt die Kultur an, die für Vergleiche verwendet werden soll.
Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false
-DifferenceObject <PSObject[]>
Gibt die Objekte an, die mit den Referenzobjekten verglichen werden.
Erforderlich? true
Position? 2
Standardwert
Pipelineeingaben akzeptieren?true (ByValue)
Platzhalterzeichen akzeptieren?false
-ExcludeDifferent [<SwitchParameter>]
Zeigt nur die Merkmale verglichener Objekte an, die übereinstimmen.
Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false
-IncludeEqual [<SwitchParameter>]
Zeigt die Merkmale verglichener Objekte an, die übereinstimmen. Standardmäßig werden nur die Merkmale angezeigt, die sich zwischen den Referenz- und Differenzobjekten unterscheiden.
Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false
-PassThru [<SwitchParameter>]
Übergibt die abweichenden Objekte an die Pipeline. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.
Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false
-Property <Object[]>
Gibt die Eigenschaften der zu vergleichenden Referenz- und Differenzobjekte an.
Erforderlich? false
Position? named
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false
-ReferenceObject <PSObject[]>
Als Referenz für einen Vergleich verwendete Objekte
Erforderlich? true
Position? 1
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false
-SyncWindow <int>
Definiert einen Suchbereich, in dem versucht wird, die Reihenfolge neu zu synchronisieren, wenn keine Übereinstimmung vorhanden ist. Der Standardwert ist "[Int32]::MaxValue".
Erforderlich? false
Position? named
Standardwert [Int32]::MaxValue
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false
<CommonParameters>
Dieses Cmdlet unterstützt folgende allgemeine Parameter: "Verbose", "Debug",
"ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable",
"OutBuffer" und "OutVariable". Weitere Informationen
erhalten Sie mit dem Befehl "get-help about_commonparameters".
# EINGABEN
System.Management.Automation.PSObject
Sie können ein DifferenceObject-Objekt über die Pipeline an Compare-Object übergeben.
# AUSGABEN
Keiner oder die Objekte, die sich unterscheiden
Wenn Sie den PassThru-Parameter verwenden, werden von Compare-Object die Objekte zurückgegeben, die sich unterscheiden. Andernfalls wird von diesem Cmdlet keine Ausgabe generiert.
# HINWEISE
# BEISPIEL 1
C:\PS>compare-object -referenceobject $(get-content C:\test\testfile1.txt) -differenceobject $(get-content C:\test\testfile2.txt)
Beschreibung
-----------
Mit diesem Befehl wird der Inhalt von zwei Textdateien verglichen. Zeigt nur die Zeilen an, die entweder in der einen oder in der anderen Datei, jedoch nicht in beiden Dateien vorhanden sind.
# BEISPIEL 2
C:\PS>compare-object -referenceobject $(get-content C:\Test\testfile1.txt) -differenceobject $(get-content C:\Test\testfile2.txt) -includeequal
Beschreibung
-----------
Mit diesem Befehl werden die einzelnen Inhaltszeilen in zwei Textdateien verglichen. Zeigt alle Inhaltszeilen aus beiden Dateien an, und es wird für jede Zeile angegeben, ob sie nur in "Textfile1.txt", nur in "Textfile2.txt" oder in beiden Dateien vorhanden ist.
# BEISPIEL 3
C:\PS>$processes_before = get-process
C:\PS> notepad
C:\PS> $processes_after = get-process
C:\PS> compare-object -referenceobject $processes_before -differenceobject $processes_after
Beschreibung
-----------
Mit diesen Befehlen werden zwei Sätze von Prozessobjekten verglichen.
Im ersten Befehl werden mit dem Cmdlet "Get-Process" die Prozesse auf dem Computer abgerufen. Diese werden in der Variablen "$processes_before" gespeichert.
Mit dem zweiten Befehl wird Editor gestartet.
Mit dem dritten Befehl wird wieder das Cmdlet "Get-Process" verwendet, und die resultierenden Prozesse werden in der Variablen "$processes_after" gespeichert.
Mit dem vierten Befehl wird das Cmdlet "Compare-Object" verwendet, um die beiden Sätze von Prozessobjekten zu vergleichen. Dabei werden die Unterschiede zwischen den Sätzen angezeigt, wozu auch die neue Instanz von Editor gehört.
VERWANDTE LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=113286 (möglicherweise auf Englisch)
Group-Object
Measure-Object
Sort-Object
ForEach-Object
New-Object
Select-Object
Tee-Object
Where-Object
C:\Windows>powershell get-help ConvertTo-Html -full
ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2014 Microsoft Corporation.