我正在尝试从我的应用程序在'c:\'文件夹中创建一个文件夹(例如:c \),但始终使用“只读”权限创建此文件夹。
我尝试过以下代码,但仍然无法更改属性。请帮帮我。
方法1
var di = new DirectoryInfo(temppath);
File.SetAttributes(temppath, FileAttributes.Normal);
File.SetAttributes(temppath, FileAttributes.Archive); */
方法2
di.Attributes = di.Attributes | ~FileAttributes.ReadOnly;
File.SetAttributes(temppath, File.GetAttributes(temppath) & ~FileAttributes.ReadOnly);
方法3
foreach (string fileName in System.IO.Directory.GetFiles(temppath))
{
System.IO.FileInfo fileInfo = new System.IO.FileInfo(fileName);
fileInfo.Attributes |= System.IO.FileAttributes.ReadOnly;
// or
fileInfo.IsReadOnly = false;
}
所有这些方法都不起作用或只是更改文件的属性而不是文件夹。
答案 0 :(得分:5)
创建目录:
DirectoryInfo di = Directory.CreateDirectory(path);
来自MSDN: http://msdn.microsoft.com/en-us/library/54a0at6s%28v=vs.110%29.aspx
如果您希望明确设置访问控制:
DirectorySecurity securityRules = new DirectorySecurity();
securityRules.AddAccessRule(new FileSystemAccessRule("Users", FileSystemRights.FullControl, AccessControlType.Allow));
DirectoryInfo di = Directory.CreateDirectory(@"C:\destination\NewDirectory", securityRules);