How to: Create a Directory ListingĀ 

The following code example shows how to use the I/O classes to create a listing of all files with the extension ".exe" in a directory.

Example

Option Explicit On 
Option Strict On
Imports System
Imports System.IO
Class DirectoryLister
    Public Shared Sub Main(ByVal args As String())
        Dim path As String = "."
        If (args.Length > 0) Then
            If File.Exists(args(0)) Then
                path = args(0)
            Else
                Console.WriteLine("{0} not found; using current directory:", _
                    args(0))
            End If
        End If
        Dim dir As New DirectoryInfo(path)
        Dim f As FileInfo
        For Each f In dir.GetFiles("*.exe")
            Dim name As [String] = f. Name
            Dim size As Long = f.Length
            Dim creationTime As DateTime = f.CreationTime
            Console.WriteLine("{0,-12:N0} {1,-20:g} {2}", size, creationTime, name)
        Next f
    End Sub
End Class
using System;
using System.IO;
class DirectoryLister
{
    public static void Main(String[] args)
    {
        string path = ".";
        if (args.Length > 0)
        {
            if (File.Exists(args[0])
            {
                path = args[0];
            }
            else
            {
                Console.WriteLine("{0} not found; using current directory:",
                    args[0]);
            }
        
        DirectoryInfo dir = new DirectoryInfo(path);
        foreach (FileInfo f in dir.GetFiles("*.exe")) 
        {
            String name = f. Name;
            long size = f.Length;
            DateTime creationTime = f.CreationTime;
            Console.WriteLine("{0,-12:N0} {1,-20:g} {2}", size, 
                creationTime, name);
        }
    }
}

Robust Programming

In this example, the DirectoryInfo is the current directory, denoted by ("."), and the code lists all files in the current directory having a .exe extension, along with their file size, creation time, and name. Assuming that there were .exe files in the \Bin subdirectory of C:\MyDir, the output of this code might look like this:

953          7/20/2000 10:42 AM   C:\MyDir\Bin\paramatt.exe
664          7/27/2000 3:11 PM    C:\MyDir\Bin\tst.exe
403          8/8/2000 10:25 AM    C:\MyDir\Bin\dirlist.exe

If you want a list of files in another directory, such as your C:\ root directory, pass the argument "C:\" into the executable generated by compiling this code, for example: "testApplication.exe C:\".

NoteNote

Visual Basic users may choose to use the methods and properties provided by the My.Computer.FileSystem object for file I/O. For more information, see My.Computer.FileSystem Object.

See Also

Tasks

How to: Read and Write to a Newly Created Data File
How to: Open and Append to a Log File
How to: Read Text from a File
How to: Write Text to a File
How to: Read Characters from a String
How to: Write Characters to a String

Reference

DirectoryInfo
CreationTime
FullName
FileInfo.Length
DirectoryInfo.GetFiles

Concepts

Basic File I/O