如何删除目录中的所有文件和文件夹?

使用C#,如何从目录中删除所有文件和文件夹,但仍保留根目录?

回答:

System.IO.DirectoryInfo di = new DirectoryInfo("YourPath");

foreach (FileInfo file in di.GetFiles())

{

file.Delete();

}

foreach (DirectoryInfo dir in di.GetDirectories())

{

dir.Delete(true);

}


如果您的目录可能包含许多文件,EnumerateFiles()则效率要高于GetFiles(),因为使用EnumerateFiles()时可以在返回GetFiles()整个集合之前开始枚举,而不是在开始枚举之前需要在内存中加载整个集合。在这里看到这个报价:

因此,当您处理许多文件和目录时,EnumerateFiles()可能会更高效。

EnumerateDirectories()和和相同GetDirectories()。因此,代码将是:

foreach (FileInfo file in di.EnumerateFiles())

{

file.Delete();

}

foreach (DirectoryInfo dir in di.EnumerateDirectories())

{

dir.Delete(true);

}

出于这个问题的目的,实际上没有理由使用GetFiles()GetDirectories()

以上是 如何删除目录中的所有文件和文件夹? 的全部内容, 来源链接: utcz.com/qa/405985.html

回到顶部