DirectoryInfo.Delete Methode

Definitie

Hiermee verwijdert u een DirectoryInfo en de inhoud van een pad.

Overloads

Name Description
Delete()

Hiermee verwijdert u dit DirectoryInfo als deze leeg is.

Delete(Boolean)

Hiermee verwijdert u dit exemplaar van een DirectoryInfo, waarmee wordt opgegeven of submappen en bestanden moeten worden verwijderd.

Delete()

Hiermee verwijdert u dit DirectoryInfo als deze leeg is.

public:
 override void Delete();
public override void Delete();
override this.Delete : unit -> unit
Public Overrides Sub Delete ()

Uitzonderingen

De map bevat een bestand met het kenmerk Alleen-lezen.

De map die door dit DirectoryInfo object wordt beschreven, bestaat niet of is niet gevonden.

De map is niet leeg.

– of –

De map is de huidige werkmap van de toepassing.

– of –

Er is een open ingang in de map en het besturingssysteem is Windows XP of eerder. Deze open ingang kan het gevolg zijn van het inventariseren van mappen. Zie Instructies voor meer informatie : Mappen en bestanden opsommen.

De beller heeft niet de vereiste machtiging.

Voorbeelden

In het volgende voorbeeld wordt een uitzondering gegenereerd als u probeert een map te verwijderen die niet leeg is.

using System;
using System.IO;

class Test
{
    public static void Main()
    {
        // Specify the directories you want to manipulate.
        DirectoryInfo di1 = new DirectoryInfo(@"c:\MyDir");

        try
        {
            // Create the directories.
            di1.Create();
            di1.CreateSubdirectory("temp");

            //This operation will not be allowed because there are subdirectories.
            Console.WriteLine("I am about to attempt to delete {0}", di1.Name);
            di1.Delete();
            Console.WriteLine("The Delete operation was successful, which was unexpected.");
        }
        catch (Exception)
        {
            Console.WriteLine("The Delete operation failed as expected.");
        }
        finally {}
    }
}
open System.IO

// Specify the directories you want to manipulate.
let di1 = DirectoryInfo @"c:\MyDir"

try
    // Create the directories.
    di1.Create()
    di1.CreateSubdirectory "temp" |> ignore

    //This operation will not be allowed because there are subdirectories.
    printfn $"I am about to attempt to delete {di1.Name}"
    di1.Delete()
    printfn "The Delete operation was successful, which was unexpected."
with _ ->
    printfn "The Delete operation failed as expected."
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        ' Specify the directories you want to manipulate.
        Dim di1 As DirectoryInfo = New DirectoryInfo("c:\MyDir")

        Try
            ' Create the directories.
            di1.Create()
            di1.CreateSubdirectory("temp")

            'This operation will not be allowed because there are subdirectories.
            Console.WriteLine("I am about to attempt to delete {0}", di1.Name)
            di1.Delete()
            Console.WriteLine("The Delete operation was successful, which was unexpected.")

        Catch
            Console.WriteLine("The Delete operation was unsuccessful, as expected.")
        End Try
    End Sub
End Class

Opmerkingen

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Zie ook

Van toepassing op

Delete(Boolean)

Hiermee verwijdert u dit exemplaar van een DirectoryInfo, waarmee wordt opgegeven of submappen en bestanden moeten worden verwijderd.

public:
 void Delete(bool recursive);
public void Delete(bool recursive);
override this.Delete : bool -> unit
Public Sub Delete (recursive As Boolean)

Parameters

recursive
Boolean

true om deze map, de bijbehorende submappen en alle bestanden te verwijderen; anders, false.

Uitzonderingen

De map bevat een bestand met het kenmerk Alleen-lezen.

De map die door dit DirectoryInfo object wordt beschreven, bestaat niet of is niet gevonden.

De map heeft het kenmerk Alleen-lezen.

– of –

De map bevat een of meer bestanden of submappen en recursive is false.

– of –

De map is de huidige werkmap van de toepassing.

– of –

Er is een open ingang in de map of op een van de bestanden en het besturingssysteem is Windows XP of eerder. Deze geopende ingang kan het gevolg zijn van het inventariseren van mappen en bestanden. Zie Instructies voor meer informatie : Mappen en bestanden opsommen.

De beller heeft niet de vereiste machtiging.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een map verwijdert. Omdat de map is verwijderd, markeert u eerst de Delete regel om te testen of de map bestaat. Verwijder vervolgens dezelfde coderegel om te testen of de map is verwijderd.

using System;
using System.IO;

public class DeleteTest
{
    public static void Main()
    {

        // Make a reference to a directory.
        DirectoryInfo di = new DirectoryInfo("TempDir");

        // Create the directory only if it does not already exist.
        if (!di.Exists)
            di.Create();

        // Create a subdirectory in the directory just created.
        DirectoryInfo dis = di.CreateSubdirectory("SubDir");

        // 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);
    }
}
open System.IO

// Make a reference to a directory.
let di = DirectoryInfo "TempDir"

// Create the directory only if it does not already exist.
if not di.Exists then
    di.Create()

// Create a subdirectory in the directory just created.
let dis = di.CreateSubdirectory "SubDir"

// 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
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
End Class

Opmerkingen

Als er DirectoryInfo geen bestanden of submappen zijn, wordt met deze methode de DirectoryInfo zelfs als recursive dat het is false, verwijderd. Een poging om een DirectoryInfo die niet leeg is te verwijderen wanneer recursive een falseIOException.

Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.

Zie ook

Van toepassing op