Seit DOS und jetzt in der Eingabeaufforderung gibt es schon seit Jahren den Befehl „Tree“ der einen Verzeichnisbaum der Verzeichnisse (und Dateien) zeichnet.
Powershell kann das auch, wenn auch etwas umständlicher, denn hier gibt es keinen Befehl dafür. Aber durch das einzelne durchlaufen der Verzeichnisebenen und ausgeben kann dies ebenso erreicht werden.
Hier mal ein Skript, welches die Vorgehensweise zeigt. Der Vorteil von einem eigenen Skript ist hier, dass man so das Ausgabeformat genau an die eigenen Wünsche anpassen kann.
Skript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
Function Show-DirectoryTree { # Function which shows a directory tree of a given folder. Param ( [string]$strStartDir ) # Function that indents to a level intI. Function Indent { Param ( [Int]$intI ) $Global:Indent = $null For ($x = 1; $x -le $intI; $x++) { $Global:Indent += [char]9 } } $objChildren = get-childitem $strStartDir | sort-object Name ForEach ($objChild in $objChildren) { Indent $intI “{0}{1}” -f $Indent, $objChild If ($objChild.PSIsContainer) { # Recurse through sub-directory $intI ++ Show-DirectoryTree $objChild.PSPath $intI -– } } } # Start $intI = 0 Show-DirectoryTree $Env:Temp |