一、问题
当文件夹内部有文件存在时,我们直接删除文件夹,会报错“目录不为空”。若我们要删除文件夹及内部包含文件,可以采用递归的方式去删除。即遍历文件夹下的文件和文件夹,如果是文件,则直接删除,如果是文件夹则继续使用递归遍历,直到文件夹内部不包含任何内容后,退出递归。
二、代码
public static void ThoroughDeleteDirectory(string directoryPath){foreach (var path in Directory.GetFileSystemEntries(directoryPath)){if (File.Exists(path)){// 删除文件夹File.Delete(path);}else{// 递归删除文件夹ThoroughDeleteDirectory(path);}}// 删除空文件夹Directory.Delete(directoryPath);}