C# 只读文件夹删除小结

只读文件夹删除需要先删除文件夹内的文件,然后在使用删除文件夹才能成功,否则将会报没有权限访问。

下面是遍历删除文件夹代码

 /// <summary>
        
///   用来遍历删除目录下的文件以及该文件夹
        
/// </summary>
        public void DeleteFileByDirectory(DirectoryInfo info)
        {
            foreach (DirectoryInfo newInfo in info.GetDirectories())
            {
                DeleteFileByDirectory(newInfo);
            }
            foreach (FileInfo newInfo in info.GetFiles())
            {
                newInfo.Attributes = newInfo.Attributes &~(FileAttributes.Archive | FileAttributes.ReadOnly | FileAttributes.Hidden);
                newInfo.Delete();
            }
            info.Attributes = info.Attributes & ~(FileAttributes.Archive | FileAttributes.ReadOnly | FileAttributes.Hidden);
            info.Delete();

        }

另外说明:

 在操作文件夹时候,在没有删除文件夹里面文件时候貌似对文件夹设置FileAttributes是没有效果,只有文件全部删除后才能设置文件夹属性。

原文地址:https://www.cnblogs.com/ylwn817/p/2280908.html