Ermitteln Sie rekursiv COUNT und SUM aller Erweiterungen in einem Ordner

Ich möchte in der Lage sein, einen Remote-Ordner auszuwählen und ihn rekursiv nach allen Dateierweiterungen zu durchsuchen. Für jede gefundene Erweiterung bräuchte ich eine Gesamtzahl und die Summe für die einzelnen Dateitypen.

Ich habe hier ein Skript gefunden, das mit der Option -include für eine einzelne Dateierweiterung funktioniert, aber anstatt das Skript mehrere Male auszuführen, wäre es schön, es einfach einmal auszuführen und alle Erweiterungen zu sammeln.

$hostname=hostname
$directory = "D:\foo"

$FolderItems = Get-ChildItem $directory -recurse -Include *.txt
$Measurement = $FolderItems | Measure-Object -property length -sum
$colitems = $FolderItems | measure-Object -property length -sum
"$hostname;{0:N2}" -f ($colitems.sum / 1MB) + "MB;" + $Measurement.count + " files;"

Ich denke, ich muss verwendenGet-ChildItem $directory | Group-Object -Property Extension um die Erweiterungen irgendwie aufzulisten, wenn das hilfreich ist.

Die ideale Ausgabe wäre etwa so:
Erweiterung, Größe (MB), Anzahl
jpg, 1,72,203
TXT, 0,23,105
xlsx, 156,12,456

Ich verwende Powershell v4.0 auf einem Windows 7-Computer, um eine Remoteverbindung zum Server herzustellen. Ich könnte das Skript lokal ausführen, es ist jedoch nur V3.0 für den Windows 2008 R2-Computer verfügbar.

Hat jemand irgendwelche Ideen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage