Dar*_*rov 83
var di = new DirectoryInfo("SomeFolder");
di.Attributes &= ~FileAttributes.ReadOnly;
Run Code Online (Sandbox Code Playgroud)
这是使用c#修改文件属性的示例的良好链接
http://www.csharp-examples.net/file-attributes/
根据他们的例子,你可以删除像这样的Read Only属性(我没有测试过这个):
File.SetAttributes(filePath, File.GetAttributes(filePath) & ~FileAttributes.ReadOnly);
Run Code Online (Sandbox Code Playgroud)
小智 5
使用-=
赋值运算符是危险的,原因有两个:
1) 只有在ReadOnly
设置了属性时它才起作用,因此需要事先进行测试。
2)它正在执行减法运算,这在使用二进制标志时不是最好的选择。如果条件 1(以上)为真,则减法运算有效,但额外的减法运算将改变该FileAttributes
字段中的其他位!
使用&= ~FileAttributes.ReadOnly;
删除ReadOnly
标志。
使用|= FileAttributes.ReadOnly;
申请ReadOnly
标志。