在C#中创建没有只读属性的文件夹

时间:2014-01-30 13:28:15

标签: c# file

我正在尝试从我的应用程序在'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;
}

所有这些方法都不起作用或只是更改文件的属性而不是文件夹。

1 个答案:

答案 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);