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 < =), uniquement dans l'objet de différences (indiqué par le symbole = >) 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