Wie listet man mit einem PowerShell-Script und Input-Parameter Path alle direkten Unterverzeichnisse mit Größe und Datei-Anzahl auf?

Antwort vom

Du kannst mit folgendem PowerShell-Skript alle direkten Unterverzeichnisse eines angegebenen Pfads auflisten und für jedes die Gesamtgröße sowie die Anzahl der enthaltenen Dateien anzeigen lassen. Das Skript nimmt den Pfad als Parameter entgegen: ```powershell param( [Parameter(Mandatory=$true)] [string]$Path ) # Hole alle direkten Unterverzeichnisse $dirs = Get-ChildItem -Path $Path -Directory foreach ($dir in $dirs) { # Hole alle Dateien (rekursiv) im Unterverzeichnis $files = Get-ChildItem -Path $dir.FullName -File -Recurse -ErrorAction SilentlyContinue # Berechne die Gesamtgröße $size = ($files | Measure-Object -Property Length -Sum).Sum # Anzahl der Dateien $count = $files.Count # Ausgabe [PSCustomObject]@{ Directory = $dir.FullName SizeMB = [math]::Round($size / 1MB, 2) FileCount = $count } } ``` **Anwendung:** Speichere das Skript z.B. als `Get-SubdirStats.ps1` und rufe es so auf: ```powershell .\Get-SubdirStats.ps1 -Path "C:\Dein\Ordner" ``` **Erklärung:** - Das Skript nimmt einen Pfad als Parameter. - Es listet alle direkten Unterverzeichnisse auf. - Für jedes Unterverzeichnis werden rekursiv alle Dateien gezählt und deren Größe summiert. - Die Ergebnisse werden als Tabelle ausgegeben (Verzeichnis, Größe in MB, Dateianzahl). **Hinweis:** Für sehr große Verzeichnisbäume kann das Skript etwas Zeit benötigen.

Neue Frage stellen

Verwandte Fragen

Wie sieht ein PowerShell-Script aus, das jede Sekunde eine Internetseite aufruft?

Ein einfaches PowerShell-Skript, das jede Sekunde eine Internetseite aufruft, könnte so aussehen: ```powershell while ($true) { Invoke-WebRequest -Uri "https://www.beispielseite.de"...

Wie ruft man in PowerShell eine Funktion mit Übergabestring auf?

In PowerShell rufst du eine Funktion mit einem Übergabestring wie folgt auf: Angenommen, du hast eine Funktion definiert: ```powershell function SagHallo($name) { Write-Host "Hallo, $n...

Wie definiere und benutze ich eine PowerShell-Funktion mit Parameter und Rückgabewert?

Eine Funktion in PowerShell, die mit einem Parameter aufgerufen wird und deren Rückgabewert in eine Variable geschrieben wird, sieht zum Beispiel so aus: ```powershell function Addiere-Zwei {...

Wie ruft man in PowerShell eine Funktion auf?

In PowerShell rufst du eine Funktion auf, indem du einfach ihren Namen verwendest, gefolgt von eventuellen Parametern. Beispiel: ```powershell function SagHallo { Write-Host "Hallo Welt!&quo...

Wie entfernt man in einer Variablen alles nach NewLine per PowerShell?

Um in PowerShell alles nach einem Newline-Zeichen (`"`n"`) aus einer Variable zu entfernen, kannst du die Methode `-split` verwenden und nur das erste Element behalten. Beispiel: ```powersh...

Wie kann man mit PowerShell das aktuelle Datum in Unixzeit (Unixtime) umwandeln?

Ja, das ist mit PowerShell möglich. Du kannst das aktuelle Datum in einen Unix-Timestamp (Sekunden seit dem 1.1.1970, 00:00:00 UTC) wie folgt umwandeln: ```powershell # Aktuelles Datum und Uhrze...

Kann man in PowerShell Subfunktionen verwenden?

Ja, in PowerShell kannst du sogenannte "Subfunktionen" einbauen. In PowerShell werden diese als "verschachtelte Funktionen" oder "lokale Funktionen" bezeichnet. Du kannst...

Wie kann man per PowerShell eine Excel-Spalte anhand des Zellinhaltes identifizieren?

Um in PowerShell eine Excel-Spalte anhand des Zellinhalts zu identifizieren, kannst du die COM-Schnittstelle von Excel verwenden. Das folgende Beispiel zeigt, wie du eine Excel-Datei öffnest, ein...

Wie kann man in PowerShell Spaltennamen einer Excel-Datei als Variablen für die Weiterverarbeitung verwenden?

Um in PowerShell die mit Titeln versehenen Spalten einer Excel-Datei als Variablen zu verwenden, kannst du das Modul **ImportExcel** nutzen. Damit kannst du Excel-Dateien direkt einlesen und die Spalt...

Kann man mit C# PowerShell-Kommandos ausführen?

Ja, mit C# kannst du PowerShell-Kommandos ausführen. Das geht am einfachsten mit der Klasse `System.Management.Automation.PowerShell`, die Teil des .NET Frameworks bzw. des NuGet-Pakets [Microsof...