Powershell - Liste der Unterverzeichnisse und die Anzahl Dateien, die pro Unterverzeichnis
Ich habe ein Verzeichnis mit vielen Unterverzeichnissen, die eine beliebige Anzahl von 0 bis 300 Dateien in Ihnen.
Möchte ich die Ausgabe der Unterverzeichnis-Namen und die Anzahl der Dateien in diesem Unterverzeichnis
Was ich habe, so weit ist mir 0, egal wie viele Dateien sind im Unterverzeichnis.
$dir = "C:\Folder\"
$subFiles = (Get-ChildItem $dir -recurse | where-object {$_.PSIsContainer -eq $true })
$subFiles | % {
Get-ChildItem -Path $_ -Force -Recurse | Measure-Object | Select-Object -ExpandProperty Count
write-host "$_"
}
Seine manchmal auch einschließlich der Verzeichnisse, in dem das Skript ausgeführt wird dh "C:\Users\Blah\documents und Einstellungen\startmen" und verursacht Fehler.
Jede Hilfe sehr dankbar vielen Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie mindestens PowerShell 3.0, da Sie mit der
-File
parameter derGet-ChildItem
so dass Sie nicht brauchen, um verwenden Sie diewhere-object {$_.PSIsContainer -eq $true }
. Das wurde ersetzt durch den-Directory
parameter. Schleife durch alle Ordner und sammeln Sie die Namen der Ordner und Anzahl der Dateien. Ich entfernte die-Recurse
der Datei zählen, da könnte irreführend sein. Legen Sie es zurück, wenn es Ihnen besser passt. Die endgültigeSelect-Object
ist es, dass die Reihenfolge der Ausgabe ist ein Objekt, dass du nun Sortieren oder tun, was immer Sie wollten, mit.Einblick
Waren Sie immer diese Fehler, bevor Sie da waren Sie nicht ruft den vollständigen Pfad in
Get-ChildItem
Sie waren nur den Aufruf der Ordner-name ist. In Ermangelung eines vollständigen PfadGet-ChildItem
vorausgesetzt, Sie sind auf der Suche für einen Ordner im aktuellen Verzeichnis. Das, was in der Regel Ihrem user-Verzeichnis.-Depth
parameter derGet-ChildItem
-Recurse
? Das sollte nur Bearbeiten, unmittelbare Unterordner.-Depth 1
und bekam Ergebnisse für 2 Ordner aus den tiefen der$dir
Diese Methode für die Zählung scheint schneller zu sein für die remote-Verzeichnisse.
Dieser Tat genau das, was ich wollte 🙂 Seine nicht sehr hübsch, aber es hat geklappt..