Alle Dateien in einem Verzeichnis löschen in C#

Muhammad Maisam Abbas 16 Februar 2024
  1. Löschen aller Dateien innerhalb eines Verzeichnisses mit der Methode DirectoryInfo.GetFiles() in C#
  2. Löschen aller Dateien innerhalb eines Verzeichnisses mit der Methode DirectoryInfo.GetDirectories() in C#
  3. Löschen Sie alle Dateien in einem Verzeichnis mit der Methode DirectoryInfo.EnumerateFiles() in C#
  4. Löschen Sie alle Verzeichnisse in einem Verzeichnis mit der Methode DirectoryInfo.EnumerateDirectories() in C#
Alle Dateien in einem Verzeichnis löschen in C#

In diesem Tutorial werden die Methoden zum Löschen aller Dateien in einem Verzeichnis in C# erläutert.

Löschen aller Dateien innerhalb eines Verzeichnisses mit der Methode DirectoryInfo.GetFiles() in C#

Die Methode DirectoryInfo.GetFiles() in C# ruft alle Dateien in einem angegebenen Verzeichnis ab. Die Methode DirectoryInfo.GetFiles() verwendet den Pfad als Argument und gibt ein Array der Objekte der Klasse FileInfo zurück, die Informationen zu jeder Datei in diesem Verzeichnis enthalten. Wir können alle Dateien im angegebenen Verzeichnis mit der Methode DirectoryInfo.GetFiles() abrufen und die Dateien dann mit der Methode FileInfo.Delete() löschen. Das folgende Codebeispiel zeigt uns, wie wir alle Dateien in einem Verzeichnis mit den Methoden DirectoryInfo.GetFiles() und FileInfo.Delete() in C# löschen können.

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");
    }
  }
}

Ausgabe:

Files deleted successfully

Im obigen Code haben wir alle Dateien im Pfad C:\Sample\ mit den Methoden DirectoryInfo.GetFiles() und FileInfo.Delete() in C# gelöscht.

Löschen aller Dateien innerhalb eines Verzeichnisses mit der Methode DirectoryInfo.GetDirectories() in C#

Wenn wir auch alle Unterverzeichnisse im Verzeichnis C:\Sample\ löschen möchten, können wir die Methode DirectoryInfo.GetDirectories() verwenden, um alle Unterverzeichnisse im Verzeichnis C:\Sample\ abzurufen Verzeichnis. Die Methode DirectoryInfo.GetDirectories() gibt ein Array der Objekte der Klasse DirectoryInfo zurück, die Informationen zu allen Unterverzeichnissen enthalten. Wir können die Unterverzeichnisse mit der Methode DirectoryInfo.Delete() löschen. Wir können auch alle Unterverzeichnisse in jedem Unterverzeichnis löschen, indem wir in den Argumenten der Methode DirectoryInfo.Delete() true angeben. Das folgende Codebeispiel zeigt uns, wie wir alle Dateien und Unterverzeichnisse in einem Verzeichnis mit der Methode DirectoryInfo.GetDirectories() in C# löschen können.

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");
    }
  }
}

Ausgabe:

Files and Sub-directories deleted successfully

Im obigen Code haben wir alle Dateien und Unterverzeichnisse im Verzeichnis C:\Sample mit den Methoden FileInfo.Delete() und DirectoryInfo.Delete() gelöscht.

Löschen Sie alle Dateien in einem Verzeichnis mit der Methode DirectoryInfo.EnumerateFiles() in C#

Die im vorherigen Abschnitt beschriebenen Methoden machen den Job gut, aber es gibt eine robustere Möglichkeit, dasselbe zu tun. Die Methode DirectoryInfo.EnumerateFiles() durchläuft jede Datei im Verzeichnis. Dieser Ansatz ist viel schneller als der vorherige Ansatz. Die Methode DirectoryInfo.EnumerateFiles() kann in der Schleife foreach verwendet werden, um in jeder Iteration ein Objekt der Klasse FileInfo abzurufen. Wir können jede Datei mit der Methode FileInfo.Delete() löschen. Das folgende Codebeispiel zeigt uns, wie wir alle Dateien in einem Verzeichnis mit der Methode DirectoryInfo.EnumerateFiles() in C# löschen können.

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");
    }
  }
}

Ausgabe:

Files deleted successfully

Der obige Code löscht alle Dateien im Verzeichnis C:\Sample mit den Methoden DirectoryInfo.EnumerateFiles() und FileInfo.Delete() in C#.

Löschen Sie alle Verzeichnisse in einem Verzeichnis mit der Methode DirectoryInfo.EnumerateDirectories() in C#

Wenn wir auch alle Unterverzeichnisse in unserem Hauptverzeichnis löschen möchten, können wir auch die Methode DirectoryInfo.EnumerateDirectories() in C# verwenden. Die Methode DirectoryInfo.EnumerateDirectories() wird verwendet, um jedes Unterverzeichnis im Hauptverzeichnis zu durchlaufen. Die Methode DirectoryInfo.EnumerateDirectories() kann in der Schleife foreach verwendet werden, um in jeder Iteration ein Objekt der Klasse DirectoryInfo abzurufen. Wir können jede Datei mit der Methode DirectoryInfo.Delete() löschen. Wir können auch true als Parameter der Methode DirectoryInfo.Delete() angeben, wenn wir alle Unterverzeichnisse in jedem Unterverzeichnis löschen möchten. Das folgende Codebeispiel zeigt uns, wie wir alle Dateien und Unterverzeichnisse in einem Verzeichnis mit der Methode DirectoryInfo.EnumerateFiles() in C# löschen können.

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");
    }
  }
}

Ausgabe:

Files and sub-directories deleted successfully

Wir haben alle Dateien und Unterverzeichnisse im Verzeichnis C:\Sample mit den Methoden FileInfo.Delete() und DirectoryInfo.Delete() in C# gelöscht.

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

Verwandter Artikel - Csharp File

Verwandter Artikel - Csharp Directory