Directory.Delete Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Supprime un répertoire spécifié, et éventuellement tous ses sous-répertoires.
Surcharges
Delete(String) |
Supprime un répertoire vide dans un chemin d’accès spécifié. |
Delete(String, Boolean) |
Supprime le répertoire spécifié et, si c’est indiqué, tous les sous-répertoires et fichiers qu’il contient. |
Delete(String)
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
Supprime un répertoire vide dans un chemin d’accès spécifié.
public:
static void Delete(System::String ^ path);
public static void Delete (string path);
static member Delete : string -> unit
Public Shared Sub Delete (path As String)
Paramètres
- path
- String
Nom du répertoire vide à supprimer. Ce répertoire doit être accessible en écriture et vide.
Exceptions
Un fichier ayant les mêmes nom et emplacement spécifiés par path
existe.
- ou -
Le répertoire correspond au répertoire de travail actuel de l’application.
- ou -
Le répertoire spécifié par path
n’est pas vide.
- ou -
Le répertoire est en lecture seule ou contient un fichier en lecture seule.
- ou -
Le répertoire est utilisé par un autre processus.
L'appelant n'a pas l'autorisation requise.
.NET Framework et .NET Core versions antérieures à 2.1 : path
est une chaîne de longueur nulle, contient uniquement des espaces blancs ou contient un ou plusieurs caractères non valides. Vous pouvez rechercher les caractères non valides à l’aide de la méthode GetInvalidPathChars().
path
a la valeur null
.
Le chemin et/ou le nom de fichier spécifiés dépassent la longueur maximale définie par le système.
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é).
Exemples
L’exemple suivant montre comment créer un répertoire et un sous-répertoire, puis supprimer uniquement le sous-répertoire.
using System;
using System.IO;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string subPath = @"C:\NewDirectory\NewSubDirectory";
try
{
Directory.CreateDirectory(subPath);
Directory.Delete(subPath);
bool directoryExists = Directory.Exists(@"C:\NewDirectory");
bool subDirectoryExists = Directory.Exists(subPath);
Console.WriteLine("top-level directory exists: " + directoryExists);
Console.WriteLine("sub-directory exists: " + subDirectoryExists);
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.Message);
}
}
}
}
open System.IO
let subPath = @"C:\NewDirectory\NewSubDirectory"
try
Directory.CreateDirectory subPath |> ignore
Directory.Delete subPath
let directoryExists = Directory.Exists @"C:\NewDirectory"
let subDirectoryExists = Directory.Exists subPath
printfn $"top-level directory exists: {directoryExists}"
printfn $"sub-directory exists: {subDirectoryExists}"
with e ->
printfn $"The process failed: {e.Message}"
Imports System.IO
Module Module1
Sub Main()
Dim subPath = "C:\NewDirectory\NewSubDirectory"
Try
Directory.CreateDirectory(subPath)
Directory.Delete(subPath)
Dim directoryExists = Directory.Exists("C:\NewDirectory")
Dim subDirectoryExists = Directory.Exists(subPath)
Console.WriteLine("top-level directory exists: " & directoryExists)
Console.WriteLine("sub-directory exists: " & subDirectoryExists)
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.Message)
End Try
End Sub
End Module
Remarques
Cette méthode se comporte de manière identique à Delete(String, Boolean) avec false
spécifiée pour le deuxième paramètre.
Le path
paramètre peut spécifier des informations relatives ou absolues sur le chemin d’accès. Les informations relatives au chemin d’accès sont interprétées comme relatives au répertoire de travail actuel. Pour obtenir le répertoire de travail actuel, consultez GetCurrentDirectory.
Les espaces de fin sont supprimés de la fin du path
paramètre avant de supprimer le répertoire.
Cette méthode lève un IOException si le répertoire spécifié dans le path
paramètre contient des fichiers ou des sous-répertoires.
Le respect de la casse du path
paramètre correspond à celui du système de fichiers sur lequel le code s’exécute. Par exemple, il ne respecte pas la casse sur NTFS (le système de fichiers Windows par défaut) et respecte la casse sur les systèmes de fichiers Linux.
Dans certains cas, si le répertoire spécifié est ouvert dans Explorateur de fichiers, la Delete méthode peut ne pas être en mesure de le supprimer.
Voir aussi
- Fichier et flux de données E/S
- Procédure : lire le texte d’un fichier
- Procédure : écrire du texte dans un fichier
S’applique à
Delete(String, Boolean)
- Source:
- Directory.cs
- Source:
- Directory.cs
- Source:
- Directory.cs
Supprime le répertoire spécifié et, si c’est indiqué, tous les sous-répertoires et fichiers qu’il contient.
public:
static void Delete(System::String ^ path, bool recursive);
public static void Delete (string path, bool recursive);
static member Delete : string * bool -> unit
Public Shared Sub Delete (path As String, recursive As Boolean)
Paramètres
- path
- String
Nom du répertoire à supprimer.
- recursive
- Boolean
true
pour supprimer les répertoires, sous-répertoires et fichiers dans le chemin d’accès indiqué par path
; sinon, false
.
Exceptions
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.
L'appelant n'a pas l'autorisation requise.
.NET Framework et .NET Core versions antérieures à 2.1 : path
est une chaîne de longueur nulle, contient uniquement des espaces blancs ou contient un ou plusieurs caractères non valides. Vous pouvez rechercher les caractères non valides à l’aide de la méthode GetInvalidPathChars().
path
a la valeur null
.
Le chemin et/ou le nom de fichier spécifiés dépassent la longueur maximale définie par le système.
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é).
Exemples
L’exemple suivant montre comment créer un répertoire, un sous-répertoire et un fichier dans le sous-répertoire, puis supprimer de manière récursive tous les nouveaux éléments.
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);
}
}
}
}
open System.IO
let topPath = @"C:\NewDirectory"
let subPath = @"C:\NewDirectory\NewSubDirectory"
try
Directory.CreateDirectory(subPath) |> ignore
do
use writer = File.CreateText(subPath + @"\example.txt")
writer.WriteLine "content added"
Directory.Delete(topPath, true)
let directoryExists = Directory.Exists topPath
printfn $"top-level directory exists: {directoryExists}"
with e ->
printfn $"The process failed: {e.Message}"
Imports System.IO
Module Module1
Sub Main()
Dim topPath = "C:\NewDirectory"
Dim subPath = "C:\NewDirectory\NewSubDirectory"
Try
Directory.CreateDirectory(subPath)
Using writer As StreamWriter = File.CreateText(subPath + "\example.txt")
writer.WriteLine("content added")
End Using
Directory.Delete(topPath, True)
Dim directoryExists = Directory.Exists(topPath)
Console.WriteLine("top-level directory exists: " & directoryExists)
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.Message)
End Try
End Sub
End Module
Remarques
Le path
paramètre peut spécifier des informations relatives ou absolues sur le chemin d’accès. Les informations relatives au chemin d’accès sont interprétées comme relatives au répertoire de travail actuel. Pour obtenir le répertoire de travail actuel, consultez GetCurrentDirectory.
Les espaces de fin sont supprimés de la fin du path
paramètre avant de supprimer le répertoire.
Le respect de la casse du path
paramètre correspond à celui du système de fichiers sur lequel le code s’exécute. Par exemple, il ne respecte pas la casse sur NTFS (le système de fichiers Windows par défaut) et respecte la casse sur les systèmes de fichiers Linux.
Si le recursive
paramètre est true
, l’utilisateur doit disposer de l’autorisation d’écriture pour le répertoire actif ainsi que pour tous les sous-répertoires.
Le comportement de cette méthode diffère légèrement lors de la suppression d’un répertoire qui contient un point d’analyse, tel qu’un lien symbolique ou un point de montage. Si le point d’analyse est un répertoire, tel qu’un point de montage, il est démontée et le point de montage est supprimé. Cette méthode ne revient pas à travers le point d’analyse. Si le point d’analyse est un lien symbolique vers un fichier, le point d’analyse est supprimé et non la cible du lien symbolique.
Dans certains cas, si le répertoire spécifié est ouvert dans Explorateur de fichiers, la Delete méthode peut ne pas être en mesure de le supprimer.
Voir aussi
- Fichier et flux de données E/S
- Procédure : lire le texte d’un fichier
- Procédure : écrire du texte dans un fichier