Directory.CreateDirectory Method (String)

Creates all directories and subdirectories as specified by path.

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

public static DirectoryInfo CreateDirectory (
	string path
)
public static DirectoryInfo CreateDirectory (
	String path
)
public static function CreateDirectory (
	path : String
) : DirectoryInfo

Parameters

path

The directory path to create.

Return Value

A DirectoryInfo as specified by path.

Exception typeCondition

IOException

The directory specified by path is read-only or is not empty.

-or-

A file with the same name and location specified by path exists.

UnauthorizedAccessException

The caller does not have the required permission.

ArgumentException

path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

ArgumentNullException

path is a null reference (Nothing in Visual Basic).

PathTooLongException

The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters and file names must be less than 260 characters.

DirectoryNotFoundException

The specified path is invalid (for example, it is on an unmapped drive).

NotSupportedException

An attempt was made to create a directory with only the colon character (:).

Any and all directories specified in path are created, unless they already exist or unless some part of path is invalid. The path parameter specifies a directory path, not a file path.

Creating a directory with only the colon (:) character is not supported, and will cause a NotSupportedException to be thrown.

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

To do this...

See the example in this topic...

Rename or move a directory.

Directory.Move

DirectoryInfo.MoveTo

Delete a directory.

Directory.Delete

DirectoryInfo.Delete

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

The following code example creates and deletes the specified directory.

using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        // Specify the directory you want to manipulate.
        string path = @"c:\MyDir";

        try 
        {
            // Determine whether the directory exists.
            if (Directory.Exists(path)) 
            {
                Console.WriteLine("That path exists already.");
                return;
            }

            // Try to create the directory.
            DirectoryInfo di = Directory.CreateDirectory(path);
            Console.WriteLine("The directory was created successfully at {0}.", Directory.GetCreationTime(path));

            // Delete the directory.
            di.Delete();
            Console.WriteLine("The directory was deleted successfully.");
        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        } 
        finally {}
    }
}

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

class Test
{
    public static void main(String[] args)
    {
        // Specify the directory you want to manipulate.
        String path = "c:\\MyDir";

        try {
            // Determine whether the directory exists.
            if (Directory.Exists(path)) {
                Console.WriteLine("That path exists already.");
                return;
            }

            // Try to create the directory.
            DirectoryInfo di = Directory.CreateDirectory(path);
            Console.WriteLine("The directory was created successfully at {0}.",
                Directory.GetCreationTime(path));
            // Delete the directory.
            di.Delete();
            Console.WriteLine("The directory was deleted successfully.");
        }
        catch (System.Exception e) {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
        finally {
        }
    } //main
} //Test

To create the directory C:\Users\User1\Public\Html when the current directory is C:\Users\User1, use any of the following calls to ensure that the backslash is interpreted properly.

In Visual Basic:

 Directory.CreateDirectory("Public\Html") 
     Directory.CreateDirectory("\Users\User1\Public\Html") 
     Directory.CreateDirectory("c:\Users\User1\Public\Html")

In C#:

 Directory.CreateDirectory("Public\\Html");
     Directory.CreateDirectory("\\Users\\User1\\Public\\Html");
     Directory.CreateDirectory("c:\\Users\\User1\\Public\\Html");

In C++:

 Directory::CreateDirectory("Public\\Html");
     Directory::CreateDirectory("\\Users\\User1\\Public\\Html");
     Directory::CreateDirectory("c:\\Users\\User1\\Public\\Html");

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

Community Additions

ADD
Show: