Compara os dois conjuntos de objetos.
Sintaxe
Compare-Object [-ReferenceObject] <PSObject[]> [-DifferenceObject] <PSObject[]> [-CaseSensitive] [-Culture <string>] [-ExcludeDifferent] [-IncludeEqual] [-PassThru] [-Property <Object[]>] [-SyncWindow <int>] [<CommonParameters>]
Descrição
O cmdlet Compare-Object compara dois conjuntos de objetos. Um conjunto de objetos é o conjunto Reference e o outro é o conjunto Difference.
O resultado da comparação indica se um valor de propriedade apareceu somente no objeto do conjunto Reference (indicado pelo símbolo <=), somente no objeto do conjunto Difference (indicado pelo símbolo =>) ou, se o parâmetro IncludeEqual for especificado, em ambos os objetos (indicado pelo símbolo ==).
Parâmetros
-CaseSensitive
Indica se as comparações devem fazer distinção entre maiúsculas e minúsculas.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Culture <string>
Especifica a cultura a ser usada para as comparações.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-DifferenceObject <PSObject[]>
Especifica os objetos que são comparados aos objetos de referência.
Necessário? |
true |
Posição? |
2 |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByValue) |
Aceitar caracteres curinga? |
false |
-ExcludeDifferent
Exibe somente as características dos objetos comparados que forem iguais.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-IncludeEqual
Exibe as características dos objetos comparados que forem iguais. Por padrão, somente as características que apresentarem diferenças entre os objetos de referência e diferença serão exibidas.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-PassThru
Transmite os objetos que diferiram para o pipeline. Por padrão, este cmdlet não gera nenhuma saída.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Property <Object[]>
Especifica as propriedades dos objetos de referência e diferença para comparação.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-ReferenceObject <PSObject[]>
Objetos usados como uma referência para comparação.
Necessário? |
true |
Posição? |
1 |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-SyncWindow <int>
Define uma região de pesquisa na qual será feita uma tentativa de ressincronizar a ordem se não houver correspondência. O valor padrão é [Int32]::MaxValue.
Necessário? |
false |
Posição? |
named |
Valor padrão |
[Int32]::MaxValue |
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas |
System.Management.Automation.PSObject Você pode enviar um objeto DifferenceObject para Compare-Object. |
Saídas |
None, or the objects that are different Quando você usa o parâmetro PassThru, Compare-Object retorna o objeto diferente. Caso contrário, esse cmdlet não gera nenhuma saída. |
Exemplo 1
C:\PS>compare-object -referenceobject $(get-content C:\test\testfile1.txt) -differenceobject $(get-content C:\test\testfile2.txt) Descrição ----------- Esse comando compara o conteúdo de dois arquivos de texto. Ele exibe somente as linhas que aparecem em um ou outro arquivo, mas não em ambos os arquivos.
Exemplo 2
C:\PS>compare-object -referenceobject $(get-content C:\Test\testfile1.txt) -differenceobject $(get-content C:\Test\testfile2.txt) -includeequal Descrição ----------- Esse comando compara cada linha do conteúdo de dois arquivos de texto. Ele exibe todas as linhas do conteúdo de ambos os arquivos, indicando se cada linha aparece somente em Textfile1.txt ou Textfile2.txt ou em ambos.
Exemplo 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 Descrição ----------- Estes comandos comparam os dois conjuntos de objetos do processo. O primeiro comando usa o cmdlet Get-Process para obter os processos no computador. Ele os armazena na variável $processes_before. O segundo comando inicia o Bloco de Notas. O terceiro comando usa o cmdlet Get-Process novamente e armazena os processos resultantes na variável $processes_after. O quarto comando usa o cmdlet Compare-Object para comparar os dois conjuntos de objetos de processo. Ele exibe as diferenças entre os conjuntos, que incluem a nova instância do Bloco de Notas.
See Also