Remove readonly attribute from directory

前端 未结 8 1098
情歌与酒
情歌与酒 2020-12-01 06:23

How can I programatically remove the readonly attribute from a directory in C#?

8条回答
  •  遥遥无期
    2020-12-01 06:59

    Got it finally. ;)

    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo di = new DirectoryInfo("c:\\test");
    
            FileAttributes f = di.Attributes;
    
            Console.WriteLine("Directory c:\\test has attributes:");
            DecipherAttributes(f);
    
        }
    
        public static void DecipherAttributes(FileAttributes f)
        {
            // To set use File.SetAttributes
    
            File.SetAttributes(@"C:\test", FileAttributes.ReadOnly);
    
            if ((f & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
                Console.WriteLine("ReadOnly");
    
            // To remove readonly use "-="
            f -= FileAttributes.ReadOnly;
    
            if ((f & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
                Console.WriteLine("ReadOnly");
            else
                Console.WriteLine("Not ReadOnly");
        }
    }
    

提交回复
热议问题