仅删除两个子文件夹的内容

时间:2017-06-07 02:01:15

标签: c#

我的代码在这里会被删除,但它将删除包括两个子文件夹。我想只删除两个子文件夹的内容。

          Array.ForEach(Directory.GetFiles(txtfilename.Text), File.Delete);
          System.IO.DirectoryInfo di = new DirectoryInfo(txtfilename.Text);

            foreach (FileInfo file in di.GetFiles())
            {
                file.Delete();
            }
            foreach (DirectoryInfo dir in di.GetDirectories())
            {
                dir.Delete(true);
            }

如果有人可以调试或显示某些解决方案,那么非常感谢。

1 个答案:

答案 0 :(得分:0)

好的。我解决了自己的问题。我用过这段代码。在搜索了一些代码并结合每个Idea之后,我就会提出这种代码,但我并不完全理解我在做什么。

   string local = txtfilename.Text;
   string[] dirs = Directory.GetFiles(local,
                   "*.csv*", SearchOption.AllDirectories);

   List<string> singleDirNames = dirs.Select(x => new 
   FileInfo(x).Directory.Name).Distinct().ToList();

   foreach (string filePath in dirs)
      {
      if (filePath.Contains(".csv"))
      File.Delete(filePath);
      }

因为两个子文件夹的内容是csv文件。我专门针对要删除的文件扩展名。我少想要删除某个扩展名。我真的想删除两个子文件夹中的所有内容。任何人都可以提高我的能力吗?