Directory Class

Exposes static methods for creating, moving, and enumerating through directories and subdirectories. This class cannot be inherited.

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


public sealed class Directory


Use the Directory class for typical operations such as copying, moving, renaming, creating, and deleting directories. You can also use the Directory class to get and set DateTime information related to the creation, access, and writing of a directory.

Because all Directory methods are static, it might be more efficient to use a Directory method rather than a corresponding DirectoryInfo instance method if you want to perform only one action. Most Directory methods require the path to the directory that you are manipulating.

The static methods of the Directory class perform security checks on all methods. If you are going to reuse an object several times, consider using the corresponding instance method of DirectoryInfo instead, because the security check will not always be necessary.

In members that accept a path as an input string, that path must be well-formed or an exception is raised; however, if a path is fully qualified but begins with a space, the space is not omitted but no exception is raised. Similarly, a path or a combination of paths cannot be fully qualified twice. For example, "c:\temp c:\windows" also raises an exception in most cases. Ensure that your paths are well-formed when using methods that accept a path string.

In members that accept a path, the path can refer to a file or just a directory. The specified path can also refer to a relative path or a Universal Naming Convention (UNC) path for a server and share name. For example, all the following are acceptable paths:

  • "c:\\MyDir".
  • "MyDir\\MySubdir"
  • "\\\\MyServer\\MyShare"

By default, full read/write access to new directories is granted to all users. Demanding permission for a directory where the path string ends with the directory separator character results in demanding permissions for all of the contained subdirectories (for example "C:\Temp\"). If permissions are required only for a specific directory, the string should end with a "." character (for example "C:\Temp\.").

Version Information

Available in the .NET Micro Framework versions 3.0, 4.0, 4.1, and 4.2.

See Also


Directory Members
System.IO Namespace