Supprimer tous les fichiers d'un répertoire en C#

Muhammad Maisam Abbas 16 février 2024
  1. Supprimer tous les fichiers d’un répertoire avec la méthode DirectoryInfo.GetFiles() en C#
  2. Supprimer tous les fichiers d’un répertoire avec la méthode DirectoryInfo.GetDirectories() en C#
  3. Supprimer tous les fichiers d’un répertoire avec la méthode DirectoryInfo.EnumerateFiles() en C#
  4. Supprimer tous les répertoires dans un répertoire avec la méthode DirectoryInfo.EnumerateDirectories() en C#
Supprimer tous les fichiers d'un répertoire en C#

Ce didacticiel abordera les méthodes pour supprimer tous les fichiers dans un répertoire en C#.

Supprimer tous les fichiers d’un répertoire avec la méthode DirectoryInfo.GetFiles() en C#

La méthode DirectoryInfo.GetFiles() en C# récupère tous les fichiers dans un répertoire spécifié. La méthode DirectoryInfo.GetFiles() prend le chemin comme argument et renvoie un tableau des objets classe FileInfo qui contiennent des informations sur chaque fichier de ce répertoire. Nous pouvons récupérer tous les fichiers dans le répertoire spécifié avec la méthode DirectoryInfo.GetFiles() puis supprimer les fichiers avec la méthode FileInfo.Delete(). L’exemple de code suivant nous montre comment supprimer tous les fichiers d’un répertoire avec les méthodes DirectoryInfo.GetFiles() et FileInfo.Delete() en C#.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Delete_all_files {
  class Program {
    static void Main(string[] args) {
      DirectoryInfo di = new DirectoryInfo(@"C:\Sample");
      FileInfo[] files = di.GetFiles();
      foreach (FileInfo file in files) {
        file.Delete();
      }
      Console.WriteLine("Files deleted successfully");
    }
  }
}

Production:

Files deleted successfully

Dans le code ci-dessus, nous avons supprimé tous les fichiers à l’intérieur du chemin C:\Sample\ avec les méthodes DirectoryInfo.GetFiles() et FileInfo.Delete() en C#.

Supprimer tous les fichiers d’un répertoire avec la méthode DirectoryInfo.GetDirectories() en C#

Si nous voulons également supprimer tous les sous-répertoires dans le répertoire C:\Sample\, nous pouvons utiliser la méthode DirectoryInfo.GetDirectories() pour récupérer tous les sous-répertoires dans le répertoire C:\Sample\ annuaire. La méthode DirectoryInfo.GetDirectories() renvoie un tableau des objets classe DirectoryInfo contenant des informations sur tous les sous-répertoires. On peut supprimer les sous-répertoires avec la méthode DirectoryInfo.Delete(). On peut aussi supprimer tous les sous-répertoires à l’intérieur de chaque sous-répertoire en spécifiant true dans les arguments de la méthode DirectoryInfo.Delete(). L’exemple de code suivant nous montre comment supprimer tous les fichiers et sous-répertoires d’un répertoire avec la méthode DirectoryInfo.GetDirectories() en C#.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Delete_all_files {
  class Program {
    static void Main(string[] args) {
      DirectoryInfo di = new DirectoryInfo(@"C:\Sample");
      FileInfo[] files = di.GetFiles();
      foreach (FileInfo file in files) {
        file.Delete();
      }
      DirectoryInfo[] subDirectories = di.GetDirectories();
      foreach (DirectoryInfo subDirectory in subDirectories) {
        subDirectory.Delete(true);
      }
      Console.WriteLine("Files and Sub-directories deleted successfully");
    }
  }
}

Production:

Files and Sub - directories deleted successfully

Dans le code ci-dessus, nous avons supprimé tous les fichiers et tous les sous-répertoires du répertoire C:\Sample avec les méthodes FileInfo.Delete() et DirectoryInfo.Delete().

Supprimer tous les fichiers d’un répertoire avec la méthode DirectoryInfo.EnumerateFiles() en C#

Les méthodes discutées dans la section précédente font bien le travail, mais il existe un moyen plus robuste de faire la même chose. La méthode DirectoryInfo.EnumerateFiles() parcourt chaque fichier à l’intérieur du répertoire. Cette approche est beaucoup plus rapide que l’approche précédente. La méthode DirectoryInfo.EnumerateFiles() peut être utilisée à l’intérieur de la boucle foreach pour obtenir un objet de la classe FileInfo à chaque itération. Nous pouvons supprimer chaque fichier avec la méthode FileInfo.Delete(). L’exemple de code suivant nous montre comment supprimer tous les fichiers d’un répertoire avec la méthode DirectoryInfo.EnumerateFiles() en C#.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Delete_all_files {
  class Program {
    static void method2() {}
    static void Main(string[] args) {
      DirectoryInfo di = new DirectoryInfo(@"C:\Sample");
      foreach (FileInfo file in di.EnumerateFiles()) {
        file.Delete();
      }
      foreach (DirectoryInfo subDirectory in di.EnumerateDirectories()) {
        subDirectory.Delete(true);
      }
      Console.WriteLine("Files deleted successfully");
    }
  }
}

Production:

Files deleted successfully

Le code ci-dessus supprime tous les fichiers dans le répertoire C:\Sample avec les méthodes DirectoryInfo.EnumerateFiles() et FileInfo.Delete() en C#.

Supprimer tous les répertoires dans un répertoire avec la méthode DirectoryInfo.EnumerateDirectories() en C#

Si nous voulons également supprimer tous les sous-répertoires de notre répertoire principal, nous pouvons également utiliser la méthode DirectoryInfo.EnumerateDirectories() en C#. La méthode DirectoryInfo.EnumerateDirectories() est utilisée pour parcourir chaque sous-répertoire à l’intérieur du répertoire principal. La méthode DirectoryInfo.EnumerateDirectories() peut être utilisée à l’intérieur de la boucle foreach pour obtenir un objet de la classe DirectoryInfo à chaque itération. Nous pouvons supprimer chaque fichier avec la méthode DirectoryInfo.Delete(). Nous pouvons également spécifier true comme paramètre de la méthode DirectoryInfo.Delete() si nous voulons supprimer tous les sous-répertoires à l’intérieur de chaque sous-répertoire. L’exemple de code suivant nous montre comment supprimer tous les fichiers et sous-répertoires d’un répertoire avec la méthode DirectoryInfo.EnumerateFiles() en C#.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Delete_all_files {
  class Program {
    static void method2() {}
    static void Main(string[] args) {
      DirectoryInfo di = new DirectoryInfo(@"C:\Sample");
      foreach (FileInfo file in di.EnumerateFiles()) {
        file.Delete();
      }
      foreach (DirectoryInfo subDirectory in di.EnumerateDirectories()) {
        subDirectory.Delete(true);
      }
      foreach (DirectoryInfo subDirectory in di.EnumerateDirectories()) {
        subDirectory.Delete(true);
      }
      Console.WriteLine("Files and sub-directories deleted successfully");
    }
  }
}

Production:

Files and sub - directories deleted successfully

Nous avons supprimé tous les fichiers et tous les sous-répertoires du répertoire C:\Sample avec les méthodes FileInfo.Delete() et DirectoryInfo.Delete() en C#.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - Csharp File

Article connexe - Csharp Directory