La forma más fácil en mi experiencia es esta
Directory.Delete(folderPath, true);
Pero estoy experimentando un problema con esta función en un escenario cuando estoy tratando de crear la misma carpeta justo después de su eliminación
Directory.Delete(outDrawableFolder, true);
//Safety check, if folder did not exist create one
if (!Directory.Exists(outDrawableFolder))
{
Directory.CreateDirectory(outDrawableFolder);
}
Ahora, cuando mi código intenta crear algún archivo en el outDrwableFolder, termina en una excepción. como por ejemplo crear un archivo de imagen usando api Image.Save (filename, format).
De alguna manera esta función de ayudante funciona para mí.
public static bool EraseDirectory(string folderPath, bool recursive)
{
//Safety check for directory existence.
if (!Directory.Exists(folderPath))
return false;
foreach(string file in Directory.GetFiles(folderPath))
{
File.Delete(file);
}
//Iterate to sub directory only if required.
if (recursive)
{
foreach (string dir in Directory.GetDirectories(folderPath))
{
EraseDirectory(dir, recursive);
}
}
//Delete the parent directory before leaving
Directory.Delete(folderPath);
return true;
}
Si tou utilizar hasta siete/Vista veces usted no puede eliminar la carpeta si el Explorador está abierto en esa carpeta (o más profundo) – Stecya
@ Stecya: estoy usando esto como una aplicación web. – safi
¿Se produce/registra un mensaje de error o la eliminación simplemente falla silenciosamente? – FrustratedWithFormsDesigner