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


使用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); 
}

是的,这是正确的方法。如果你想给自己一个“干净”(或者,我喜欢称之为“空”功能),你可以创建一个扩展方法。

public static void Empty(this System.IO.DirectoryInfo directory)
{
    foreach(System.IO.FileInfo file in directory.GetFiles()) file.Delete();
    foreach(System.IO.DirectoryInfo subDirectory in directory.GetDirectories()) subDirectory.Delete(true);
}

这将允许你做一些事情..

System.IO.DirectoryInfo directory = new System.IO.DirectoryInfo(@"C:...");

directory.Empty();

未经作者同意,本文严禁转载,违者必究!