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

Antwort

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.

KI fragen

Verwandte Fragen

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... [mehr]

Kann man mit C# ein PowerShell-Command ausführen?

Ja, mit C# kannst du PowerShell-Kommandos ausführen. Das geht zum Beispiel mit der Klasse `System.Management.Automation.PowerShell` aus dem NuGet-Paket [Microsoft.PowerShell.SDK](https://www.nuge... [mehr]

Wie kopiere ich mit PowerShell zwei Excel-Zellen kombiniert in eine neue Zelle eines neuen Arbeitsblattes?

Um zwei Excel-Zellen per PowerShell zu kombinieren und das Ergebnis in eine neue Zelle eines neuen Arbeitsblatts zu schreiben, kannst du das COM-Objekt von Excel verwenden. Hier ein Beispiel, wie das... [mehr]

Wie kann man in PowerShell einen Webserver programmieren, der verschiedene Antwortseiten liefert?

In PowerShell kannst du mit dem eingebauten .NET-Framework einen einfachen Webserver erstellen, der auf HTTP-Anfragen reagiert und unterschiedliche Antworten je nach angeforderter URL zurückgibt.... [mehr]

Wie schreibt man PowerShell-Skripte im UTF-8-Format?

Um PowerShell-Skripte im UTF-8-Format zu schreiben, gibt es mehrere Möglichkeiten: 1. **Beim Speichern im Editor:** - In modernen Editoren wie Visual Studio Code, Notepad++ oder Windows Edito... [mehr]

Wie erstellt und verarbeitet man ein Auswahlmenü in PowerShell?

Mit PowerShell kannst du ein Auswahlmenü auf verschiedene Arten erstellen. Für einfache Konsolenmenüs eignet sich besonders das Cmdlet `Read-Host` oder die Funktion `Out-GridView` (mit... [mehr]

Wie sieht ein PowerShell-Programm aus, das anhand eines Eingabestrings das Clipboard mit verschiedenen Werten füllt?

Ein PowerShell-Skript, das anhand eines Eingabestrings das Clipboard mit verschiedenen Werten vorbesetzt, könnte so aussehen: ```powershell # Eingabestring abfragen $inputString = Read-Host &quo... [mehr]