Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.

Tip of the Day
Language: VBNET
Expertise: Intermediate
Jan 19, 2002



Application Security Testing: An Integral Part of DevOps

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.IO

Sub 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)

        ' 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)
        End If
        ' A recursive call for all the subdirectories in this directory.
        For Each subdir In Directory.GetDirectories(dir)
            PrintDirTree(subdir, showFiles, level + 1)
        ' Do nothing if any error (presumably "Drive not ready").
    End Try
End 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 String
For Each rootDir In Directory.GetLogicalDrives
    PrintDirTree(rootDir, True)
Francesco Balena
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date