Compare-Object - PowerShell command help and examples

Compares two sets of objects. (Compare-Object)


NAME
Compare-Object
SYNOPSIS
Compares two sets of objects.
SYNTAX
Compare-Object [-ReferenceObject] <PSObject[]> [-DifferenceObject] <PSObject[]> [-CaseSensitive] [-Culture <string>] [-ExcludeDifferent] [-IncludeEqual] [-PassThru] [-Property <Object[]>] [-SyncWindow <int>] [<CommonParameters>]
DESCRIPTION
The Compare-Object cmdlet compares two sets of objects. One set of objects is the Reference set, and the other set is the Difference set. The result of the comparison indicates whether a property value appeared only in the object from the Reference set (indicated by the <= symbol), only in the object from the Difference set (indicated by the => symbol) or, if the IncludeEqual parameter is specified, in both objects (indicated by the == symbol).
PARAMETERS
-CaseSensitive [<SwitchParameter>] Indicates that comparisons should be case-sensitive. Required? false Position? named Default value Accept pipeline input? false Accept wildcard characters? false -Culture <string> Specifies the culture to use for comparisons. Required? false Position? named Default value Accept pipeline input? false Accept wildcard characters? false -DifferenceObject <PSObject[]> Specifies the objects that are compared to the reference objects. Required? true Position? 2 Default value Accept pipeline input? true (ByValue) Accept wildcard characters? false -ExcludeDifferent [<SwitchParameter>] Displays only the characteristics of compared objects that are equal. Required? false Position? named Default value Accept pipeline input? false Accept wildcard characters? false -IncludeEqual [<SwitchParameter>] Displays characteristics of compared objects that are equal. By default, only characteristics that differ between the reference and difference objects are displayed. Required? false Position? named Default value Accept pipeline input? false Accept wildcard characters? false -PassThru [<SwitchParameter>] Passes the objects that differed to the pipeline. By default, this cmdlet does not generate any output. Required? false Position? named Default value Accept pipeline input? false Accept wildcard characters? false -Property <Object[]> Specifies the properties of the reference and difference objects to compare. Required? false Position? named Default value Accept pipeline input? false Accept wildcard characters? false -ReferenceObject <PSObject[]> Objects used as a reference for comparison. Required? true Position? 1 Default value Accept pipeline input? false Accept wildcard characters? false -SyncWindow <int> Defines a search region in which an attempt is made to re-synchronize the order if there is no match. The default value is [Int32]::MaxValue. Required? false Position? named Default value [Int32]::MaxValue Accept pipeline input? false Accept wildcard characters? false <CommonParameters> This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer and OutVariable. For more information, type, "get-help about_commonparameters".
INPUTS
System.Management.Automation.PSObject You can pipe a DifferenceObject object to Compare-Object.
OUTPUTS
None, or the objects that are different When you use the PassThru parameter, Compare-Object returns the objects that differed. Otherwise, this cmdlet does not generate any output.
NOTES

Examples

EXAMPLE 1
C:\PS>compare-object -referenceobject $(get-content C:\test\testfile1.txt) -differenceobject $(get-content C:\test\testfile2.txt)
Description
----------- This command compares the contents of two text files. It displays only the lines that appear in one file or in the other file, not lines that appear in both files.
EXAMPLE 2
C:\PS>compare-object -referenceobject $(get-content C:\Test\testfile1.txt) -differenceobject $(get-content C:\Test\testfile2.txt) -includeequal
Description
----------- This command compares each line of content in two text files. It displays all lines of content from both files, indicating whether each line appears in only Textfile1.txt or Textfile2.txt or whether each line appears in both files.
EXAMPLE 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
Description
----------- These commands compare two sets of process objects. The first command uses the Get-Process cmdlet to get the processes on the computer. It stores them in the $processes_before variable. The second command starts Notepad. The third command uses the Get-Process cmdlet again and stores the resulting processes in the $processes_after variable. The fourth command uses the Compare-Object cmdlet to compare the two sets of process objects. It displaysthe differences between them, which include the new instance of Notepad. RELATED LINKS Online version: http://go.microsoft.com/fwlink/?LinkID=113286 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

Windows 11, 10, 8.1, 8, 7 / Server 2022, 2019, 2016











Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



PowerShell: Compares two sets of objects.

HTTP: ... PS_Windows/en/Compare-Object.htm
0.062
12338
Help, the Quad File Explorer hangs on Windows 11, why? Transfer, Reset the Explorer View settings of columns in Q-Dir, how to? What's the best way to secure my computer? Difference between CPU, FPU, GPU? What are Windows applications? Kann ich weiterhin auf Windows 11 Dateien erstellen die nicht komprimierbar sind? Create correct folder for 32Bit applications under Windows 11, 10, ...? Horizontal scrolling with always mouse wheel, how to? What is the difference between keyboard numbers and numeric keys? Windows Defender zeigt beim Downloaden Virus an und löscht es!



(0)