How to: Create a Directory Listing
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

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.


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];
                Console.WriteLine("{0} not found; using current directory:",
        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:\".


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

© 2015 Microsoft