Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

FileInfo.Directory Property

Gets an instance of the parent directory.

Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)

public DirectoryInfo Directory { get; }
/** @property */
public DirectoryInfo get_Directory ()

public function get Directory () : DirectoryInfo

Property Value

A DirectoryInfo object representing the parent directory of this file.

Exception typeCondition

DirectoryNotFoundException

The specified path is invalid, such as being on an unmapped drive.

SecurityException

The caller does not have the required permission.

To get the parent directory as a string, use the DirectoryName property.

The following table lists examples of other typical or related I/O tasks.

To do this...

See the example in this topic...

Copy a directory.

Directory

Rename or move a directory.

Directory.Move

DirectoryInfo.MoveTo

Delete a directory.

Directory.Delete

DirectoryInfo.Delete

Create a directory.

CreateDirectory

Directory

Create a subdirectory.

CreateSubdirectory

See the files in a directory.

Name

See the subdirectories of a directory.

GetDirectories

GetDirectories

See all the files in all subdirectories of a directory.

GetFileSystemInfos

Find the size of a directory.

Directory

Determine if a file exists.

Exists

Determine if a directory exists.

Exists

The following example opens or creates a file, determines its full path, and determines and displays the full contents of the directory.

using System;
using System.IO;

public class DirectoryTest 
{
    public static void Main() 
    {

        // Open an existing file, or create a new one.
        FileInfo fi = new FileInfo("temp.txt");

        // Determine the full path of the file just created.
        DirectoryInfo di = fi.Directory;

        // Figure out what other entries are in that directory.
        FileSystemInfo[] fsi = di.GetFileSystemInfos();

        Console.WriteLine("The directory '{0}' contains the following files and directories:", di.FullName);

        // Print the names of all the files and subdirectories of that directory.
        foreach (FileSystemInfo info in fsi)
            Console.WriteLine(info.Name);
    }
}

import System.*;
import System.IO.*;

public class DirectoryTest
{
    public static void main(String[] args)
    {
        // Open an existing file, or create a new one.
        FileInfo fi = new FileInfo("temp.txt");

        // Determine the full path of the file just created.
        DirectoryInfo di = fi.get_Directory();

        // Figure out what other entries are in that directory.
        FileSystemInfo fsi[] = di.GetFileSystemInfos();
        Console.WriteLine("The directory '{0}' contains the following files " 
            + " and directories:", di.get_FullName());

        // Print the names of all the files and subdirectories of
        // that directory.
        for (int iCtr = 0; iCtr < fsi.length; iCtr++) {
            FileSystemInfo info = (FileSystemInfo)fsi.get_Item(iCtr);
            Console.WriteLine(info.get_Name());
        }
    } //main
} //DirectoryTest

import System;
import System.IO;

public class DirectoryTest {
    public static function Main() : void {

        // Open an existing file, or create a new one.
        var fi : FileInfo = new FileInfo("temp.txt");

        // Determine the full path of the file just created.
        var di : DirectoryInfo = fi.Directory;

        // Figure out what other entries are in that directory.
        var fsi : FileSystemInfo[] = di.GetFileSystemInfos();

        Console.WriteLine("The directory '{0}' contains the following files and directories:", di.FullName);

        // Print the names of all the files and subdirectories of that directory.
        for (var i : int in fsi)
            Console.WriteLine(fsi[i].Name);
    }
}
DirectoryTest.Main();

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft