Vergleichen Sie Objekte mit PowerShell

Vergleichen Sie Objekte mit PowerShell
Der "Vergleiche”CMDLet hilft, den Inhalt von zwei Dateien, Zeichenfolgen, Variablen oder Objekten zu vergleichen. Es akzeptiert zwei Parameter, einer ist ein Referenzsatz oder eine Datei, während der andere ein Unterschied ist. Seine Hauptaufgabe besteht darin, die in der Referenzdatei fehlende Elementliste zu produzieren oder anzuzeigen. Objekte werden normalerweise verglichen, um den Unterschied zwischen ihnen herauszufinden.

Der folgende Blog behandelt Methoden, um Objekte in PowerShell zu vergleichen.

So vergleichen Sie Objekte mit PowerShell unter Verwendung des CMDLet "Compare-Object"?

Das cmdlet "Vergleiche”In PowerShell vergleicht die Objekte aus den beiden entsprechenden Dateien, Ordnern oder Arrays. Es braucht zwei Parameter “,“-ReferenceObject" Und "-Differenzobject”. Der erstere Parameter verweist auf die Datei, und der letztere Parameter unterscheidet die Objekte von einer Datei.

Dies sind die Indikatoren, die nach dem Vergleich der Objekte angezeigt werden:

Indikator Beschreibung
== Bestätigt, dass der Inhalt in beiden Dateien vorhanden ist.
=> Bestätigt, dass der Inhalt nur in der Datei „-Differenziell“ vorhanden ist.
<= Bestätigt, dass der Inhalt nur in der Datei "-ReferenceFobject" vorhanden ist.

Beispiel 1: Vergleichen Sie die Objekte in einer Datei

In diesem Beispiel wird die Objekte in einer Datei mit der “verglichenVergleiche”CMDLET:

$ Ref_file = Get-Content C: \\ doc \\ doc.txt
$ Diff_file = GET-Content C: \\ doc \\ Datei.txt
Compare -Object -ReferenceObject $ ref_file -DiffferenzObject $ diff_file -includeequal

Nach dem obigen Code:

  • Initialisieren Sie zunächst die beiden Variablen “$ Ref_file" Und "$ Diff_file”.
  • Weisen Sie jedem von ihnen die zu "Treffen”CMDLET zum Abrufen der Daten in den angegebenen Dateien und den Pfad der beiden Textdateien angeben.
  • Zuletzt aufrufen, um die Dateien zu vergleichen, um zuerst die “aufzurufenVergleiche”Cmdlet, dann fügen Sie das hinzu“-ReferenceObject"Und weisen Sie die zugewiesene zugewiesene Variable zu, die" $ ref-file "ist.
  • Danach fügen Sie einen weiteren Parameter hinzu "-Differenzobject"Und weisen Sie die Differenzdatei zu, die Variable" $ DIF-file "zugewiesen wurde.
  • Fügen Sie am Ende das hinzu “-InklusiveFlag, um die übereinstimmenden Objekte aus der referenzierten Datei anzuzeigen:

Beispiel 2: Vergleichen Sie Dateien in den Ordnern

In diesem Beispiel wird die Datei in zwei Ordnern mit PowerShell verglichen “Vergleiche" Befehl:

$ Ref_fold = get-childitem c: \\ doc \\ order_1 \\
$ Diff_fold = get-childitem c: \\ doc \\ order_2 \\
Compare -Object $ ref_Fold $ diff_fold -includeequal

Im obigen Code das “Get-Childitem”CMDLET wird verwendet, um die Dateien aus angegebenen Ordnerorten abzurufen:

Beispiel 3: Vergleichen Sie zwei Arrays mit dem CMDLet "Compare-Object"

In diesem Beispiel werden Objekte von zwei Arrays verglichen:

$ array_1 = @("Katze", "Hund", "Hen")
$ array_2 = @("Hund", "Hen", "Pferd")
Compare -Object $ array_1 $ array_2 -includeequal

Nach dem obigen Code:

  • Initialisieren Sie zunächst zwei Variablen und weisen Sie beide Arrays mit Objekten zu.
  • Vergleiche danach beide mit dem “Vergleiche”CMDLET:

Bewerten Sie nun den Unterschied anhand der Beschreibung der Seitenindikatoren.

Abschluss

Die Objekte in PowerShell werden mit der “verglichen“Vergleiche”Cmdlet. Dieses CMDLet verwendet die Parameter “-ReferenceObject" Und "-Differenzobject”. Der erstere Parameter verweist auf die Datei, und der letztere Parameter unterscheidet die Objekte von einer Datei. Diese Beschreibung hat die Methoden zum Vergleichen von Dateien in PowerShell erstellt.