Jump to content

Powershell Verzeichnisse vergleichen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo

 

ich möchte per Powershell Script Verzeichnisse vergleichen um Unterschiede festzustellen.
Im ersten Schritt geht es mir erstmal darum unterschiedliche bzw. fehlende Verzeichnisse heraus zu finden.
 

# In der Importdatei stehen pro Zeile jeweils 2 Verzeichnispfade, die verglichen werden sollen (mit Semikolon getrennt)
$Zeile in Get-Content $ImportDatei
$lDir1,$Dir2 = $Zeile -split ";"
$Content1   = Get-ChildItem -Recurse -path $Dir1
$Content2   = Get-ChildItem -Recurse -path $Dir2
Compare-Object -ReferenceObject  $Content1 -DifferenceObject  $Content2


Im Output steh aber leider nur unterschiedliche Verzeichnisnamen, ohne den kompletten Pfad.

Der Output sieht z.B. so aus:

 

InputObject SideIndicator
----------- -------------
2           <=           


Kennt jemand einen Weg im Output den kompletten Pfad mit anzugeben?

Danke und Gruß
Andreas

 

bearbeitet von Andreas_HGW
Geschrieben (bearbeitet)

Hallo Andreas, Willkommen im MCSEforum.

 

Wie schon im anderen Forum geschrieben, weiß ich nicht wie Du zu der Ausgabe kommst.

 

https://forums.powershell.org/t/powershell-compare-folders/22658

 

Wenn ich den folgenden Code ausführe ...

 

$Dir1 = 'C:\test'
$Dir2 = 'C:\test2'

Compare-Object -ReferenceObject $Dir1 -DifferenceObject $Dir2

 

... erhalte ich eine Ausgabe wie diese:

 

InputObject SideIndicator       
----------- -------------       
C:\test2    =>
C:\test     <=

 

vor 21 Minuten schrieb Andreas_HGW:
# In der Importdatei stehen pro Zeile jeweils 2 Verzeichnispfade, die verglichen werden sollen (mit Semikolon getrennt)

 

Diese Info ist neu ... und verwirrend  ... kannst Du ein Beispiel dafür zeigen?

 

 

Edit:

... jetzt hat's geklingelt ... 

 

Versuch mal das hier:

$Content1   = Get-ChildItem -Recurse -Path $Dir1 -Directory | Select-Object -ExpandProperty FullName
$Content2   = Get-ChildItem -Recurse -Path $Dir2 -Directory | Select-Object -ExpandProperty FullName

 

bearbeitet von BOfH_666
Geschrieben

Hallo Olaf,

 

vielen Dank auch für Deine Antworten im anderen Forum.

 

Get-ChildItem -Recurse -Path $Dir1 -Directory | Select-Object -ExpandProperty FullName

 

--> Das funktioniert und ist genau das was ich gesucht habe.

Da sieht der Output dann so aus:

 

InputObject SideIndicator
----------- -------------
C:\test2\1  =>           
C:\test2\3  =>           
C:\test\1   <=           
C:\test\2   <=           
C:\test\3   <=     

 

Danke. :-)

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...