我在vs2005里面调试,删除文件夹,总是说路径拒绝访问,但是删除文件夹里面的文档都可以,怎么解决呢?

解决方案 »

  1.   

    不会阿,我在这个文件夹下面又新建了几个文件夹,能递归删除掉,但是就在删除最上层的这个文件夹就报错了。  if (Directory.Exists(dir)) //如果存在这个文件夹删除之 
            {
                foreach (string d in Directory.GetFileSystemEntries(dir))
                {
                    if (File.Exists(d))
                    {
                        File.Delete(d); //直接删除其中的文件 
                        OleDbConnection Delete = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=E:\\文档管理系统\\database.mdb");
                        OleDbCommand cmDelete;
                        string strDelete = "Delete from detail where link like @link";
                        cmDelete = new OleDbCommand(strDelete, Delete);
                        cmDelete.Parameters.Add("@link", d);
                       
                        Delete.Open();
                        cmDelete.ExecuteNonQuery();
                        Delete.Close();
                    }
                    else
                        DeleteFolder(d); //递归删除子文件夹 //////////////////////报错行:拒绝访问
                }
                Directory.Delete(dir); //删除已空文件夹 
                Response.Write(dir + " 文件夹删除成功");
            }
      

  2.   

    Directory.Delete 方法 (String)
    如果在 path 参数中指定的目录包含文件或子目录,则此方法引发 IOException。Directory.Delete 方法 (String, Boolean)
      

  3.   

    删除之前需要释放。
    else
      Delete.Dispose();
    DeleteFolder(d);  
    }
    这样试试
      

  4.   

    Directory.Delete(dir); //删除已空文件夹    这句是出错行,指删除不了这个文件夹,我都关闭了的,新建这个文件夹,运行这个程序就不会报错
      

  5.   

    if(Directory.Exists(dir))
    {
     Directory.Delete(dir); 

    检查文件夹中文件是否使用