Compare objetos con PowerShell

Compare objetos con PowerShell
El "Comparar objeto"Cmdlet ayuda a comparar el contenido de dos archivos, cadenas, variables u objetos. Acepta dos parámetros, uno es un conjunto o archivo de referencia, mientras que el otro es una diferencia. Su papel principal es producir o mostrar la lista de elementos que falta desde el archivo de referencia. Los objetos generalmente se comparan para descubrir la diferencia entre ellos.

El siguiente blog cubrirá métodos para comparar objetos en PowerShell.

Cómo comparar objetos con PowerShell usando el cmdlet "Compare-Object"?

El cmdlet "Comparar objeto"En PowerShell compara los objetos de los dos archivos, carpetas o matrices correspondientes. Se necesitan dos parámetros ","-ReferenceObject" y "-DiferenceObject". El primer parámetro hace referencia al archivo, y el último parámetro diferencia los objetos de un archivo.

Estos son los indicadores que se muestran después de la comparación de los objetos:

Indicador Descripción
== Confirma que el contenido está presente en ambos archivos.
=> Confirma que el contenido solo está presente en el archivo "-DiFferenceObject".
<= Confirma que el contenido solo está presente en el archivo "-ReferenceObject".

Ejemplo 1: Compare los objetos dentro de un archivo

Este ejemplo comparará los objetos dentro de un archivo utilizando el "Comparar objeto"Cmdlet:

$ Ref_file = Get-Content C: \\ Doc \\ Doc.TXT
$ DIF_FILE = GET-CONTENT C: \\ DOC \\ FILE.TXT
Compare -object -referenceObject $ ref_file -differenceObject $ dif_file -includequal

Según el código anterior:

  • Primero, inicializa las dos variables "$ Ref_file" y "$ Dif_file".
  • Asigne a cada uno de ellos el "Obtener el contenido"Cmdlet para recuperar los datos dentro de los archivos dados y especificar la ruta de los dos archivos de texto.
  • Por último, para comparar los archivos, primero, invocar el "Comparar objeto"Cmdlet, luego agregue el"-ReferenceObject", Y asigne la variable de archivo de referencia asignada, que es" $ refile ".
  • Después de eso, agregue otro parámetro ","-DiferenceObject", Y asigne la variable de archivo de diferencia" $ DIF-File ".
  • Al final, agregue el "-Includequal"Bandera para mostrar los objetos coincidentes del archivo referenciado:

Ejemplo 2: Compare archivos en las carpetas

Este ejemplo comparará el archivo dentro de dos carpetas usando PowerShell "Comparar objeto" dominio:

$ Ref_fold = get-childitem c: \\ doc \\ carpeter_1 \\
$ Dif_fold = get-childitem c: \\ doc \\ carpeter_2 \\
Compare -object $ ref_fold $ dif_fold -includequal

En el código anterior, el "Get-Childitem"Cmdlet se utiliza para recuperar los archivos de las ubicaciones de la carpeta especificadas:

Ejemplo 3: Compare dos matrices usando el cmdlet "Compare-Object"

Este ejemplo comparará objetos de dos matrices:

$ array_1 = @("gato", "perro", "gallina")
$ array_2 = @("perro", "gallina", "caballo")
Compare -object $ array_1 $ array_2 -includequal

Según el código anterior:

  • Primero, inicialice dos variables y asigne ambas matrices con objetos.
  • Después de eso, compare ambos usando el "Comparar objeto"Cmdlet:

Ahora, evalúe la diferencia usando la descripción de los indicadores laterales.

Conclusión

Los objetos en PowerShell se comparan utilizando el "Comparar objeto"Cmdlet. Este cmdlet usa los parámetros "-ReferenceObject" y "-DiferenceObject". El primer parámetro hace referencia al archivo, y el último parámetro diferencia los objetos de un archivo. Este artículo ha explicado los métodos para comparar archivos en PowerShell.