[c#] C #은 폴더와 해당 폴더 내의 모든 파일 및 폴더를 삭제합니다.

폴더와 해당 폴더 내의 모든 파일 및 폴더를 삭제하려고합니다. 아래 코드를 사용하고 있는데 오류가 발생합니다 Folder is not empty. 할 수있는 방법 에 대한 제안 사항이 있습니까?

try
{
  var dir = new DirectoryInfo(@FolderPath);
  dir.Attributes = dir.Attributes & ~FileAttributes.ReadOnly;
  dir.Delete();
  dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[i].Index);
}
catch (IOException ex)
{
  MessageBox.Show(ex.Message);
}



답변

dir.Delete(true); // true => recursive delete


답변

매뉴얼 읽기 :

Directory.Delete 메서드 (String, Boolean)

Directory.Delete(folderPath, true);


답변

시험:

System.IO.Directory.Delete(path,true)

이렇게하면 권한이 있다고 가정하고 “경로”아래에있는 모든 파일과 폴더가 재귀 적으로 삭제됩니다.


답변

어, 그냥 전화하는 건 Directory.Delete(path, true);어때?


답변

Directory.Delete의 방법은 재귀 부울 매개 변수가 있습니다, 당신이 무엇을해야한다


답변

다음을 사용해야합니다.

dir.Delete(true);

해당 폴더의 내용도 재귀 적으로 삭제합니다. MSDN DirectoryInfo.Delete () 오버로드를 참조하십시오 .


답변

이 시도.

namespace EraseJunkFiles
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo yourRootDir = new DirectoryInfo(@"C:\somedirectory\");
            foreach (DirectoryInfo dir in yourRootDir.GetDirectories())
                    DeleteDirectory(dir.FullName, true);
        }
        public static void DeleteDirectory(string directoryName, bool checkDirectiryExist)
        {
            if (Directory.Exists(directoryName))
                Directory.Delete(directoryName, true);
            else if (checkDirectiryExist)
                throw new SystemException("Directory you want to delete is not exist");
        }
    }
}