Directory.Delete Method (String, Boolean)

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Deletes the specified directory and, if indicated, any subdirectories and files in the directory.

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


Public Shared Sub Delete ( _
    path As String, _
    recursive As Boolean _
public static void Delete(
    string path,
    bool recursive


  • recursive
    Type: System..::.Boolean
    true to remove directories, subdirectories, and files in path; otherwise, false.


Exception Condition

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


The directory specified by path is read-only, or recursive is false and path is not an empty directory.


The directory is the application's current working directory.


There is an open handle on the directory or on one of its files, and the operating system is Windows XP or earlier. This open handle can result from enumerating directories and files.


The caller does not have the required permission.


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


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


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.


The specified path does not exist or could not be found.


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


Version Notes

Windows Phone

This member has a SecurityCriticalAttribute attribute. This attribute restricts this member to internal use. Application code that uses this member throws a MethodAccessException.

Version Information

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0


Windows Phone

See Also


Directory Class

Delete Overload

System.IO Namespace