DirectoryInfo.Delete Méthode

Définition

Supprime un DirectoryInfo et son contenu d’un chemin d’accès.

Surcharges

Nom Description
Delete()

Supprime cela DirectoryInfo s’il est vide.

Delete(Boolean)

Supprime cette instance d’un DirectoryInfo, en spécifiant s’il faut supprimer des sous-répertoires et des fichiers.

Delete()

Supprime cela DirectoryInfo s’il est vide.

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

Exceptions

Le répertoire contient un fichier en lecture seule.

Le répertoire décrit par cet DirectoryInfo objet n’existe pas ou est introuvable.

Le répertoire n’est pas vide.

-ou-

Le répertoire est le répertoire de travail actuel de l’application.

-ou-

Il existe un handle ouvert sur le répertoire, et le système d’exploitation est Windows XP ou antérieur. Ce handle ouvert peut résulter de l’énumération des répertoires. Pour plus d’informations, consultez Guide pratique pour énumérer des répertoires et des fichiers.

L’appelant n’a pas l’autorisation requise.

Exemples

L’exemple suivant lève une exception si vous tentez de supprimer un répertoire qui n’est pas vide.

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

Remarques

Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.

Voir aussi

S’applique à

Delete(Boolean)

Supprime cette instance d’un DirectoryInfo, en spécifiant s’il faut supprimer des sous-répertoires et des fichiers.

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

Paramètres

recursive
Boolean

true pour supprimer ce répertoire, ses sous-répertoires et tous les fichiers ; sinon, false.

Exceptions

Le répertoire contient un fichier en lecture seule.

Le répertoire décrit par cet DirectoryInfo objet n’existe pas ou est introuvable.

Le répertoire est en lecture seule.

-ou-

Le répertoire contient un ou plusieurs fichiers ou sous-répertoires et recursive est false.

-ou-

Le répertoire est le répertoire de travail actuel de l’application.

-ou-

Il existe un handle ouvert sur le répertoire ou sur l’un de ses fichiers, et le système d’exploitation est Windows XP ou antérieur. Ce handle ouvert peut résulter de l’énumération des répertoires et des fichiers. Pour plus d’informations, consultez Guide pratique pour énumérer des répertoires et des fichiers.

L’appelant n’a pas l’autorisation requise.

Exemples

L’exemple suivant illustre la suppression d’un répertoire. Étant donné que le répertoire est supprimé, commencez par commenter la Delete ligne pour tester que le répertoire existe. Supprimez ensuite les marques de commentaire de la même ligne de code pour tester que le répertoire a été supprimé avec succès.

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

Remarques

Si le DirectoryInfo fichier n’a pas de fichiers ou de sous-répertoires, cette méthode supprime le DirectoryInfo même si c’est falsele casrecursive. Tentative de suppression d’un DirectoryInfo élément qui n’est pas vide lorsqu’il recursivefalse lève un IOException.

Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches d’E/S courantes.

Voir aussi

S’applique à