这个问题好像很多人问过了,不过我问的要复杂一些,请帮忙!
system.io里有个类 Directory
Directory.Delete(path,bool)
可以实现,删除path及其目录下的所有文件及文件夹!
我现在碰到的难题是想写个函数 
private bool FileDelete(string path,string keep)
{
    //
    //保留path文件夹下的keep文件夹,其余的文件文件夹都删除
    //}
问题是,我可以把path写成全路径格式,譬如c:\123,但是keep我想写成文件夹的名字,譬如userful,那如何利用这两个参数实现上述共功能呢?
知道者,请帮忙!谢谢,最好是具体的步骤,分数不多,但是我所有的了。

解决方案 »

  1.   

    DirectoryInfo src_di = new DirectoryInfo(path);
    foreach(DirectoryInfo directory in  src_di.GetDirectories())
    {
    if(directory.Name.ToLower() != keep.ToLower() )
    directory.Delete(true);
    }
    foreach(FileInfo file in src_di.GetFiles()) 
    file.Delete();
      

  2.   

    //参考
            private bool FileDelete(string path, string keep)
            {
                string[] vPaths = Directory.GetDirectories(path);
                foreach (string vPath in vPaths)
                    if (!vPath.Equals(keep, StringComparison.OrdinalIgnoreCase))
                        Directory.Delete(vPath);
                string[] vFiles = Directory.GetFiles(path);
                foreach (string vFile in vFiles)
                    File.Delete(vFile);
                return true;
            }