C#에서 디렉터리의 모든 파일 삭제

Muhammad Maisam Abbas 2024년2월16일
  1. C#에서DirectoryInfo.GetFiles()메서드를 사용하여 디렉터리 내의 모든 파일 삭제
  2. C#에서DirectoryInfo.GetDirectories()메서드를 사용하여 디렉터리 내의 모든 파일 삭제
  3. C#에서DirectoryInfo.EnumerateFiles()메서드를 사용하여 디렉터리 내의 모든 파일 삭제
  4. C#에서DirectoryInfo.EnumerateDirectories()메서드를 사용하여 디렉터리 내의 모든 디렉터리 삭제
C#에서 디렉터리의 모든 파일 삭제

이 자습서에서는 C#의 디렉터리에있는 모든 파일을 삭제하는 방법에 대해 설명합니다.

C#에서DirectoryInfo.GetFiles()메서드를 사용하여 디렉터리 내의 모든 파일 삭제

C#의DirectoryInfo.GetFiles()메소드는 지정된 디렉토리 내의 모든 파일을 가져옵니다. DirectoryInfo.GetFiles()메소드는 경로를 인수로 취하고 해당 디렉토리의 각 파일에 대한 정보를 포함하는 FileInfo클래스 객체의 배열을 반환합니다. DirectoryInfo.GetFiles()메소드를 사용하여 지정된 디렉토리에있는 모든 파일을 가져온 다음FileInfo.Delete()메소드로 파일을 삭제할 수 있습니다. 다음 코드 예제는 C#에서DirectoryInfo.GetFiles()FileInfo.Delete()메소드를 사용하여 디렉토리 내의 모든 파일을 삭제하는 방법을 보여줍니다.

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

출력:

Files deleted successfully

위 코드에서DirectoryInfo.GetFiles()및 C#의FileInfo.Delete()메소드를 사용하여C:\Sample\경로에있는 모든 파일을 삭제했습니다.

C#에서DirectoryInfo.GetDirectories()메서드를 사용하여 디렉터리 내의 모든 파일 삭제

C:\Sample\디렉토리 내의 모든 하위 디렉토리도 삭제하려면DirectoryInfo.GetDirectories()메서드를 사용하여C:\Sample\내의 모든 하위 디렉토리를 가져올 수 있습니다. 예배 규칙서. DirectoryInfo.GetDirectories()메소드는 모든 하위 디렉토리에 대한 정보를 포함하는 DirectoryInfo클래스 객체의 배열을 반환합니다. DirectoryInfo.Delete()메소드를 사용하여 하위 디렉토리를 삭제할 수 있습니다. DirectoryInfo.Delete()메소드의 인수 안에true를 지정하여 각 하위 디렉토리 내의 모든 하위 디렉토리를 삭제할 수도 있습니다. 다음 코드 예제는 C#에서DirectoryInfo.GetDirectories()메소드를 사용하여 디렉토리 내의 모든 파일과 하위 디렉토리를 삭제하는 방법을 보여줍니다.

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

출력:

Files and Sub-directories deleted successfully

위의 코드에서FileInfo.Delete()DirectoryInfo.Delete()메소드를 사용하여C:\Sample디렉토리 내의 모든 파일과 모든 하위 디렉토리를 삭제했습니다.

C#에서DirectoryInfo.EnumerateFiles()메서드를 사용하여 디렉터리 내의 모든 파일 삭제

이전 섹션에서 설명한 방법이 작업을 잘 수행하지만 동일한 작업을 수행하는 더 강력한 방법이 있습니다. DirectoryInfo.EnumerateFiles()메소드는 디렉토리 내의 각 파일을 반복합니다. 이 접근 방식은 이전 접근 방식보다 훨씬 빠릅니다. DirectoryInfo.EnumerateFiles()메소드는foreach루프 내에서 사용하여 각 반복에서FileInfo클래스의 객체를 가져올 수 있습니다. FileInfo.Delete()메소드로 각 파일을 삭제할 수 있습니다. 다음 코드 예제는 C#에서DirectoryInfo.EnumerateFiles()메소드를 사용하여 디렉토리 내의 모든 파일을 삭제하는 방법을 보여줍니다.

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

출력:

Files deleted successfully

위 코드는 C#의DirectoryInfo.EnumerateFiles()FileInfo.Delete()메소드를 사용하여C:\Sample디렉토리 내의 모든 파일을 삭제합니다.

C#에서DirectoryInfo.EnumerateDirectories()메서드를 사용하여 디렉터리 내의 모든 디렉터리 삭제

메인 디렉터리 내의 모든 하위 디렉터리도 삭제하려면 C#에서DirectoryInfo.EnumerateDirectories()메서드를 사용할 수도 있습니다. DirectoryInfo.EnumerateDirectories()메소드는 기본 디렉토리 내의 각 하위 디렉토리를 반복하는 데 사용됩니다. DirectoryInfo.EnumerateDirectories()메소드를foreach루프 내에서 사용하여 각 반복에서DirectoryInfo클래스의 객체를 가져올 수 있습니다. DirectoryInfo.Delete()메소드로 각 파일을 삭제할 수 있습니다. 또한 각 하위 디렉토리 내의 모든 하위 디렉토리를 삭제하려면DirectoryInfo.Delete()메서드의 매개 변수로true를 지정할 수 있습니다. 다음 코드 예제는 C#에서DirectoryInfo.EnumerateFiles()메소드를 사용하여 디렉토리 내의 모든 파일과 하위 디렉토리를 삭제하는 방법을 보여줍니다.

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

출력:

Files and sub-directories deleted successfully

C#의FileInfo.Delete()DirectoryInfo.Delete()메소드를 사용하여C:\Sample디렉토리 내의 모든 파일과 모든 하위 디렉토리를 삭제했습니다.

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

관련 문장 - Csharp File

관련 문장 - Csharp Directory