Partager via


Compare-Object

Compare deux jeux d'objets.

Syntaxe

Compare-Object [-ReferenceObject] <PSObject[]> [-DifferenceObject] <PSObject[]> [-CaseSensitive] [-Culture <string>] [-ExcludeDifferent] [-IncludeEqual] [-PassThru] [-Property <Object[]>] [-SyncWindow <int>] [<CommonParameters>]

Description

L'applet de commande Compare-Object compare deux jeux d'objets. Un jeu d'objets correspond au jeu des références et l'autre au jeu des différences.

Le résultat de la comparaison indique si une valeur de propriété est apparue uniquement dans l'objet du jeu de références (indiqué par le symbole &lt; =), uniquement dans l'objet de différences (indiqué par le symbole = &gt;) ou, si le paramètre IncludeEqual est spécifié, dans les deux objets (cas indiqué par le symbole ==).

Paramètres

-CaseSensitive

Indique que les comparaisons doivent respecter la casse.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Culture <string>

Spécifie la culture à utiliser pour les comparaisons.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-DifferenceObject <PSObject[]>

Spécifie les objets qui sont comparés aux objets de référence.

Obligatoire ?

true

Position ?

2

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByValue)

Accepter les caractères génériques ?

false

-ExcludeDifferent

Affiche uniquement les caractéristiques des objets comparés qui sont égaux.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-IncludeEqual

Affiche les caractéristiques des objets comparés qui sont égaux. Par défaut, seules les caractéristiques qui diffèrent entre les objets de référence et de différence sont affichées.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-PassThru

Passe les objets qui diffèrent au pipeline. Par défaut, cette applet de commande ne génère aucune sortie.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Property <Object[]>

Spécifie les propriétés des objets de référence et de différence à comparer.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-ReferenceObject <PSObject[]>

Les objets utilisés comme référence pour la comparaison.

Obligatoire ?

true

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-SyncWindow <int>

Définit une zone de recherche dans laquelle une tentative de resynchronisation de l'ordre est effectuée en cas de discordance. La valeur par défaut est [Int32]::MaxValue.

Obligatoire ?

false

Position ?

named

Valeur par défaut

[Int32]::MaxValue

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

System.Management.Automation.PSObject

Vous pouvez diriger un objet DifferenceObject vers Compare-Object.

Sorties

Aucun ou les objets qui sont différents

Lorsque vous utilisez le paramètre PassThru, Compare-Object retourne les objets qui diffèrent. Sinon, cette applet de commande ne génère aucune sortie.

Exemple 1

C:\PS>compare-object -referenceobject $(get-content C:\test\testfile1.txt) -differenceobject $(get-content C:\test\testfile2.txt)

Description
-----------
Cette commande compare le contenu de deux fichiers texte. Elle affiche uniquement les lignes qui apparaissent dans l'un ou l'autre fichier et pas celles qui apparaissent dans les deux fichiers.





Exemple 2

C:\PS>compare-object -referenceobject $(get-content C:\Test\testfile1.txt) -differenceobject $(get-content C:\Test\testfile2.txt) -includeequal

Description
-----------
Cette commande compare chaque ligne de contenu dans deux fichiers texte. Elle affiche toutes les lignes de contenu des deux fichiers en indiquant si chaque ligne apparaît uniquement dans Textfile1.txt ou Textfile2.txt, ou si elle apparaît dans les deux fichiers.





Exemple 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
-----------
Ces commandes comparent deux jeux d'objets processus. 

La première commande utilise l'applet de commande Get-Process pour obtenir les processus de l'ordinateur. Elle les stocke dans la variable $processes_before. 

La deuxième commande ouvre le Bloc-notes.

La troisième commande utilise à nouveau l'applet de commande Get-Process et stocke les processus résultants dans la variable $processes_after. 

La quatrième commande utilise l'applet de commande Compare-Object pour comparer les deux jeux d'objets processus. Elle affiche leurs différences, qui incluent la nouvelle instance du Bloc-notes.





Voir aussi

Concepts

Group-Object
Measure-Object
Sort-Object
ForEach-Object
New-Object
Select-Object
Tee-Object
Where-Object