Compare objetos com PowerShell

Compare objetos com PowerShell
O "Compare-objeto”O cmdlet ajuda a comparar o conteúdo de dois arquivos, strings, variáveis ​​ou objetos. Ele aceita dois parâmetros, um é um conjunto de referência ou arquivo, enquanto o outro é uma diferença. Sua principal função é produzir ou exibir a lista de itens ausentes no arquivo de referência. Os objetos geralmente são comparados para descobrir a diferença entre eles.

O blog a seguir abordará métodos para comparar objetos em PowerShell.

Como comparar objetos com PowerShell usando o cmdlet "compare-object"?

O cmdlet “Compare-objeto”Em PowerShell, compara os objetos dos dois arquivos, pastas ou matrizes correspondentes. São necessários dois parâmetros, “-ReferenceObject" e "-Diferençabject”. O primeiro parâmetro faz referência ao arquivo, e o último parâmetro diferencia os objetos de um arquivo.

Estes são os indicadores que são exibidos após a comparação dos objetos:

Indicador Descrição
== Confirma que o conteúdo está presente nos dois arquivos.
=> Confirma que o conteúdo está presente apenas no arquivo "-differenceObject".
<= Confirma que o conteúdo está presente apenas no arquivo "-ReferenceObject".

Exemplo 1: Compare os objetos dentro de um arquivo

Este exemplo comparará os objetos dentro de um arquivo usando o “Compare-objeto”Cmdlet:

$ Ref_file = Get-Content C: \\ doc \\ Doc.TXT
$ Dif_file = Get-Content C: \\ doc \\ arquivo.TXT
Compare -object -ReferenceObject $ ref_file -differenceObject $ dif_file -includeequal

De acordo com o código acima:

  • Primeiro, inicialize as duas variáveis ​​“$ Ref_file" e "$ Dif_file”.
  • Atribua a cada um deles o “Obter conteudo”CMDLET para recuperar os dados dentro dos arquivos fornecidos e especificar o caminho dos dois arquivos de texto.
  • Por fim, para comparar os arquivos, primeiro, invocar o “Compare-objeto”Cmdlet e adicione o“-ReferenceObject”, E atribua a variável atribuída ao arquivo de referência, que é“ $ ref-file ”.
  • Depois disso, adicione outro parâmetro, “-Diferençabject”E atribua o arquivo de diferença atribuído variável“ $ dif-File ”.
  • No final, adicione o “-Incluindoqual“Flag para exibir os objetos correspondentes do arquivo referenciado:

Exemplo 2: Compare arquivos nas pastas

Este exemplo comparará o arquivo em duas pastas usando o PowerShell “Compare-objeto”Comando:

$ Ref_fold = get-childItem c: \\ doc \\ pasler_1 \\
$ Dif_fold = get-childItem c: \\ doc \\ pasler_2 \\
Compare -object $ ref_fold $ dif_fold -includeequal

No código acima, o “Get-Childitem”O cmdlet é utilizado para recuperar os arquivos dos locais de pastas especificados:

Exemplo 3: Compare duas matrizes usando o cmdlet "Compare-object"

Este exemplo comparará objetos de duas matrizes:

$ array_1 = @("gato", "cachorro", "galinha")
$ array_2 = @("cachorro", "galinha", "cavalo")
Compare -object $ Array_1 $ Array_2 -includeeQual

De acordo com o código acima:

  • Primeiro, inicialize duas variáveis ​​e atribua as duas matrizes com objetos.
  • Depois disso, compare os dois usando o “Compare-objeto”Cmdlet:

Agora, avalie a diferença usando a descrição dos indicadores laterais.

Conclusão

Os objetos em PowerShell são comparados usando o “Compare-objeto”Cmdlet. Este cmdlet usa os parâmetros “-ReferenceObject" e "-Diferençabject”. O primeiro parâmetro faz referência ao arquivo, e o último parâmetro diferencia os objetos de um arquivo. Este artigo foi elaborado sobre os métodos para comparar arquivos no PowerShell.