不会阿,我在这个文件夹下面又新建了几个文件夹,能递归删除掉,但是就在删除最上层的这个文件夹就报错了。 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);
{
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 + " 文件夹删除成功");
}
如果在 path 参数中指定的目录包含文件或子目录,则此方法引发 IOException。Directory.Delete 方法 (String, Boolean)
else
Delete.Dispose();
DeleteFolder(d);
}
这样试试
{
Directory.Delete(dir);
}
检查文件夹中文件是否使用