删除文件夹(c#)
这个功能是简单的文件操作的一部分,本来以为很是简单,但后来发现如果文件夹内有文件,运行则会报错:目录已存在!
起初的想法很简单 ,先删除原文件夹,然后再创建一个同名的空文件夹。System.IO.Directory.Delete(txtAimDirectory.Text);System.IO.Directory.CreateDirectory(txtAimDirectory.Text); 后来查看一些资料,知道文件夹中可能含有文件夹、文件,如何清空呢?直接贴上代码:(用到梯归)private void DeleteFolder(string dir) { // 循环文件夹里面的内容 foreach (string f in Directory.GetFileSystemEntries(dir)) { // 如果是文件存在 if (File.Exists(f)) { FileInfo fi = new FileInfo(f); if (fi.Attributes.ToString().IndexOf("Readonly") != 1) { fi.Attributes = FileAttributes.Normal; } // 直接删除其中的文件 File.Delete(f); } else { // 如果是文件夹存在 // 递归删除子文件夹 DeleteFolder(f); } } // 删除已空文件夹 Directory.Delete(dir); }