Mit der Windows PowerShell die Anzahl der Dateien in einem Verzeichnis zählen

Windows PowerShell - Anzahl der Verzeichnisse und Files auflisten

Oft ist es sehr nützlich, wenn man weiß wie viele Dateien oder Verzeichnis in einem bestimmten Ordner vorhanden sind. Die Windows PowerShell bietet hierfür ein paar sehr gute Cmdlets an, welche im Folgenden etwas erläutert werden. Als erstes benötigt man eine Windows PowerShell Konsole. Sehr gut eignet sich die Windows PowerShell ISE. Sofern diese geöffnet ist, wechselt man zum gewünschten Pfad. Wie bereits unter der cmd bekannt, kann man das mit “cd” erreichen. Wobei in der PowerShell dieser Befehl ein Alias von Set-Location ist.

Alle vorhandenen Elemente auflisten

Möchte man alle Elemente auflisten lassen, also egal ob es sich jetzt um Dateien oder Files handelt, so kann man die folgende Befehlssequenz verwenden. Wichtig dabei ist das Cmdlet Measure-Object, an welches der komplette Inhalt des aktuellen Verzeichnisses übergeben wird. Die Übergabe bzw. Weiterverarbeitung erfolgt dabei mit der Pipe.

Get-ChildItem | Measure-Object | %{$_.Count}
Mit der Windows PowerShell alle vorhandenen Verzeichnisse und Dateien auflisten
Mit der Windows PowerShell alle vorhandenen Verzeichnisse und Dateien auflisten

Natürlich ist es auch möglich sich nur alle Verzeichnisse oder alle Dateien ausgeben zu lassen. Dabei wird als Parameter entweder Directory oder File verwendet. Die folgenden beiden Beispiele erläutern die korrekte Angabe der Parameter.

Alle Verzeichnisse auflisten

Get-ChildItem -Directory | Measure-Object | %{$_.Count}

Alle Dateien auflisten

Get-ChildItem -File | Measure-Object | %{$_.Count}

Was jetzt bei den obigen Befehlen und Ausgaben noch nicht dabei sind, sind evtl. Dateien und Verzeichnisse, welche untergeordnet sind. Aber auch dafür liefert die Windows PowerShell einen passenden Parameter mit dem Namen Recurse. Möchte man jetzt alle Elemente innerhalb und unterhalb eines Verzeichnisses ausgeben, so benötigt man hierfür folgenden Befehl.

Get-ChildItem -Recurse | Measure-Object | %{$_.Count}