Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Directory.Delete méthode (String, Boolean)

 

Date de publication : novembre 2016

Supprime le répertoire spécifié et, si c’est indiqué, tous les sous-répertoires et fichiers qu’il contient.

Espace de noms:   System.IO
Assembly:  mscorlib (dans mscorlib.dll)

public static void Delete(
	string path,
	bool recursive
)

Paramètres

path
Type: System.String

Nom du répertoire à supprimer.

recursive
Type: System.Boolean

true pour supprimer les répertoires, sous-répertoires et fichiers dans le chemin d’accès indiqué par path ; sinon, false.

Exception Condition
IOException

Un fichier ayant les mêmes nom et emplacement spécifiés par path existe.

ou

Le répertoire spécifié par path est accessible en lecture seule, ou recursive a la valeur false et path n’est pas un répertoire vide.

ou

Le répertoire correspond au répertoire de travail actuel de l’application.

ou

Le répertoire contient un fichier en lecture seule.

ou

Le répertoire est utilisé par un autre processus.

UnauthorizedAccessException

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

ArgumentException

path est une chaîne de longueur nulle, contient seulement un espace ou contient un ou plusieurs caractères non valides. Vous pouvez rechercher les caractères non valides à l’aide de la méthode GetInvalidPathChars.

ArgumentNullException

path a la valeur null.

PathTooLongException

Le chemin et/ou le nom de fichier spécifiés dépassent la longueur maximale définie par le système. Par exemple, sur les plateformes Windows, les chemins ne doivent pas dépasser 248 caractères et les noms de fichiers ne doivent pas dépasser 260 caractères.

DirectoryNotFoundException

path n’existe pas ou est introuvable.

ou

Le chemin spécifié n’est pas valide (par exemple, il est sur un lecteur non mappé).

The path parameter may specify relative or absolute path information. Relative path information is interpreted as relative to the current working directory. To obtain the current working directory, see M:System.IO.Directory.GetCurrentDirectory.

Trailing spaces are removed from the end of the path parameter before deleting the directory.

The path parameter is not case-sensitive.

If the recursive parameter is true, the user must have write permission for the current directory as well as for all subdirectories.

The behavior of this method differs slightly when deleting a directory that contains a reparse point, such as a symbolic link or a mount point. If the reparse point is a directory, such as a mount point, it is unmounted and the mount point is deleted. This method does not recurse through the reparse point. If the reparse point is a symbolic link to a file, the reparse point is deleted and not the target of the symbolic link.

In some cases, if you have the specified directory open in File Explorer, the M:System.IO.Directory.Delete(System.String,System.Boolean) method may not be able to delete it.

The following example shows how to create a new directory, subdirectory, and file in the subdirectory, and then recursively delete all the new items.

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string topPath = @"C:\NewDirectory";
            string subPath = @"C:\NewDirectory\NewSubDirectory";

            try
            {
                Directory.CreateDirectory(subPath);

                using (StreamWriter writer = File.CreateText(subPath + @"\example.txt"))
                {
                    writer.WriteLine("content added");
                }

                Directory.Delete(topPath, true);

                bool directoryExists = Directory.Exists(topPath);

                Console.WriteLine("top-level directory exists: " + directoryExists);
            }
            catch (Exception e)
            {
                Console.WriteLine("The process failed: {0}", e.Message);
            }
        }
    }
}

FileIOPermission

for writing to the specified directory. Associated enumeration: F:System.Security.Permissions.FileIOPermissionAccess.Write

Plateforme Windows universelle
Disponible depuis 10
.NET Framework
Disponible depuis 1.1
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Retour au début
Afficher: