C# 删除文件夹以及子目录以及文件

网上有很多删除文件夹的示例代码,但是很多都是先循环递归删除文件夹中的子文件和文件夹后再删除自己

其实可以很简单的一行代码就全部删除了

Directory.Delete("D:\\test", true);

经过测试,我发现这个函数并不是一定可靠的,有时候会出现“目录不是空的”异常,所以找了一段新的代码

public static void DeleteDirectory(string target_dir) {
            string[] files = Directory.GetFiles(target_dir);
            string[] dirs = Directory.GetDirectories(target_dir);
            foreach (string file in files) {
                File.SetAttributes(file, FileAttributes.Normal);
                File.Delete(file);
            }
            foreach (string dir in dirs) {
                DeleteDirectory(dir);
            }
            Directory.Delete(target_dir, false);
        }

 

posted @ 2021-12-13 11:53  WmW  阅读(1260)  评论(0编辑  收藏  举报