Vergleicht zwei Sätze von Objekten. (Compare-Object)
NAMECompare-ObjectÜBERSICHTVergleicht zwei Sätze von Objekten.SYNTAXCompare-Object [-ReferenceObject] <PSObject[]> [-DifferenceObject] <PSObject[]> [-CaseSensitive] [-Culture <string>] [-ExcludeDifferent] [-IncludeEqual] [-PassThru] [-Property <Object[]>] [-SyncWindow <int>] [<CommonParameters>]BESCHREIBUNGDas 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".EINGABENSystem.Management.Automation.PSObject Sie können ein DifferenceObject-Objekt über die Pipeline an Compare-Object übergeben.AUSGABENKeiner 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.HINWEISEBeispiele
BEISPIEL 1C:\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 2C:\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 3C:\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
Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.
ColorConsole [Version 3.7.1000] PowerShell 2.0-Export