Avatar ·

¿Cómo eliminar todos los archivos y carpetas en un directorio en C#?

¡Hola a todos! Soy un desarrollador C# principiante y me encontré con este problema. Necesito escribir una función que limpie una carpeta de todos los archivos y subcarpetas. Probé varios métodos, pero cada vez algo sale mal. Aquí está mi código: ```csharp string path = @"C:\Temp\MyFolder"; if (Directory.Exists(path)) { Directory.Delete(path, true); Directory.CreateDirectory(path); } ``` El problema es que al intentar eliminar la carpeta con archivos que están siendo usados por otro proceso, se lanza una excepción IOException. Y si intento eliminar los archivos uno por uno con File.Delete, las carpetas quedan y necesito eliminarlas recursivamente, pero no puedo manejar la anidación. También probé esta variante: ```csharp foreach (string file in Directory.GetFiles(path)) { File.Delete(file); } foreach (string dir in Directory.GetDirectories(path)) { Directory.Delete(dir, true); } ``` Pero si en la carpeta hay subcarpetas con archivos, Directory.GetDirectories no las devuelve,