Export (0) Print
Expand All

DirectoryInfo.Delete Method (Boolean)

Deletes this instance of a DirectoryInfo, specifying whether to delete subdirectories and files.

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

'Declaration
Public Sub Delete ( _
	recursive As Boolean _
)

Parameters

recursive
Type: System.Boolean

true to delete this directory, its subdirectories, and all files; otherwise, false.

ExceptionCondition
UnauthorizedAccessException

The directory contains a read-only file.

DirectoryNotFoundException

The directory described by this DirectoryInfo object does not exist or could not be found.

IOException

The directory is read-only.

-or-

The directory contains one or more files or subdirectories and recursive is false.

-or-

The directory is the application's current working directory.

-or-

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. For more information, see How to: Enumerate Directories and Files.

SecurityException

The caller does not have the required permission.

If the DirectoryInfo has no files or subdirectories, this method deletes the DirectoryInfo even if recursive is false. Attempting to delete a DirectoryInfo that is not empty when recursive is false throws an IOException.

For a list of common I/O tasks, see Common I/O Tasks.

The following example demonstrates deleting a directory. Because the directory is removed, first comment out the Delete line to test that the directory exists. Then uncomment the same line of code to test that the directory was removed successfully.

Imports System
Imports System.IO

Public Class DeleteTest

    Public Shared Sub Main()
        ' Make a reference to a directory. 
        Dim di As New DirectoryInfo("TempDir")

        ' Create the directory only if it does not already exist. 
        If di.Exists = False Then
            di.Create()
        End If 

        Dim dis As DirectoryInfo = di.CreateSubdirectory("SubDir")
        ' Create a subdirectory in the directory just created. 

        ' Process that directory as required. 
        ' ... 

        ' Delete the subdirectory. The true indicates that if subdirectories 
        ' or files are in this directory, they are to be deleted as well.
        dis.Delete(True)

        ' Delete the directory.
        di.Delete(True)
    End Sub 'Main
End Class 'DeleteTest

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

  • FileIOPermissionAccess 

    Write flag required for write permission to the DirectoryInfo and subdirectories to be deleted.

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Show:
© 2014 Microsoft