Display a directory tree

Display a directory tree

Thanks to the GetDirectories and GetFiles methods of the System.IO.Directory class, you need very little code to iterate over all the directories and files of a directory tree. For example, the following code snippet prints the structure of a directory tree and (optionally) the name of files in each directory:

' Assumes the following imports:' Imports System.IOSub PrintDirTree(ByVal dir As String, ByVal showFiles As Boolean, _    Optional ByVal level As Integer = 0)    Dim subdir As String    Dim fname As String     ' Display the name of this directory with correct indentation.    Console.WriteLine(New String("-"c, level * 2) & dir)    Try        ' Display all files in this directory, with correct indentation.        If showFiles Then            For Each fname In Directory.GetFiles(dir)                Console.WriteLine(New String(" "c, level * 2 + 2) & fname)            Next        End If        ' A recursive call for all the subdirectories in this directory.        For Each subdir In Directory.GetDirectories(dir)            PrintDirTree(subdir, showFiles, level + 1)        Next    Catch        ' Do nothing if any error (presumably "Drive not ready").    End TryEnd Sub

You can pass a directory name to the PrintDirTree procedure, or print the directory tree of all the drives in your system, by using this code:

Dim rootDir As StringFor Each rootDir In Directory.GetLogicalDrives    PrintDirTree(rootDir, True)Next

See also  11 Effective Keyword Research Tools and Techniques

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist