Inhalt von Verzeichnissen mit PowerShell vergleichen Windows 10
Wenn man Inhalte verschiedener Ordner miteinander vergleichen möchte, ohne sich mühsam alles durchzugucken, kann auf die PowerShell zurückgreifen. Die PowerShell bietet für das Vergleichen zwar kein eigenen Cmdlet an, allerdings lässt sich diese Aufgabe relativ einfach mit den Cmdlets Get-ChildItem und Compare-Objekt erledigen.
Man kann den Inhalt eines Ordners mit Get-ChildItem (gci) auslesen, allerdings anstatt die Ausgabe in eine Datei umzuleiten, kann man diese gleich an Compare-Object als Parameter übergeben.
Dieses Tutorial ist für die Windows 10 2004 und höher, 1909, 1903, 1809, und darunter geeignet.
- Neu installieren: Windows 10 neu installieren - Tipps und Tricks
- Unterschied Cloud Download Lokale Neuinstallation und Inplace Upgrade Windows 10
- Windows 10 ISO Final : 22H2 19045 ISO
- Windows 10 Patchday 11.03.2025 KB5053606 Windows 10 19045.5608
- Funktionsupdate auf Windows 10 22H2 (19045) KB5015684 Enablement Package - Download
- Intel Microcode Updates für Windows 10 20H2 / 2004 bis 1507 (27.01.2021)
- PowerShell in die Suche der Taskleiste eingeben und starten
- Oder Windows-Taste + X Powershell öffnen Tipp: Powershell und Eingabeaufforderung austauschen Windows 10
Im Vergleich zwischen 2 Verzeichnissen kann der Befehl wie folgt aussehen:
Die Pfade müssen von euch natürlich angepasst werden.
Compare (gci F:\Musik\) (gci C:\Users\lem0th\Desktop\Musik\)
Dieser Befehl soll herausfinden, ob bzw. welche Daten im Verzeichnis existieren. Gibt es nur eine Datei, welche nur im aktuellen Verzeichnis existiert, dann zeigt der Pfeil des Side Indikator nach Links, sind aber nur Daten im Verzeichnis "Musik" vorhanden, zeigt er nach rechts.
Wenn man allerdings nur daran interessiert ist, gleichnamige Dateien zu finden, um etwa Dubletten zu finden, dann dreht man den Befehl einfach um.
Compare (gci f:\Musik) (gci c:\users\lem0th\Desktop\Musik) -IncludeEqual -ExcludeDifferent
Der Parameter -IncludeEqual ist hier nicht ausreichend, weshalb man noch den Parameter -ExculdeDifferent mit angibt.
Allerdings hängt das Vergleichen der Verzeichnissen auch vom Cmdlet Get-ChildItem ab. Dieses erlaubt auch die rekursive Anzeige von Verzeichnisstrukturen als Beispiel, so dass man ganze Ordnerstrukturen miteinander vergleichen kann.
Compare (gci -r f:\Musik) (gci -r c:\users\lem0th\Desktop\Musik)
Der Befehl bewirkt einen Vergleich für die ganzen Verzeichnisbäume, wo egal ist, wo innerhalb der Verzeichnisstruktur Dateien existieren. Sollten gleichnamige Daten in F:\Musik und C:\Users\Lem0th\Desktop\Musik auftauchen, wird kein Unterschied zwischen den Beiden festgestellt, da gci nur eine lange Liste mit den Dateinamen anzeigt, ohne Pfad.
Wenn man allerdings nun nur die Verzeichnisstruktur ohne Daten vergleichen möchte, der kann folgenden Befehl dafür verwenden:
Compare (gci -r -Dir f:\Musik) (gci -r -Dir c:\Users\Lem0th\Desktop\Musik)
Der Parameter -Dir bewirkt, dass Get-ChildItem nur die Verzeichnisse anzeigen wird. Wenn eines der beiden Verzeichnisse keine Unterordner besitzt, wird Get-ChildItem einen Fehler auswerfen. Das ist allerdings bei den anderen Beispielen ebenfalls der Fall, sollten diese keine Daten enthalten.
Danke an Lemoth für das Tutorial
Fragen zu Windows 10?
Du hast Fragen oder benötigst Hilfe? Dann nutze bitte unser Forum und nicht die Tipp-Box! Auch Gäste (ohne Registrierung) können bei uns Fragen stellen oder Fragen beantworten. - Link zum Forum | Forum Windows 10
Neue Tutorials für Windows 10 | Top 10 der Tutorials für Windows 10 | |