我的代码在这里会被删除,但它将删除包括两个子文件夹。我想只删除两个子文件夹的内容。
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);
}
如果有人可以调试或显示某些解决方案,那么非常感谢。
答案 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文件。我专门针对要删除的文件扩展名。我少想要删除某个扩展名。我真的想删除两个子文件夹中的所有内容。任何人都可以提高我的能力吗?