Создать папку без атрибута только для чтения в С#

Я пытаюсь создать папку из моего приложения в папке c:\(например: c \), но эта папка всегда создается с разрешением "только для чтения".

Я пробовал приведенные ниже коды, но не смог изменить атрибуты. Пожалуйста, помогите мне.

Способ 1

var di = new *************(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 ответ

Чтобы создать каталог:

************* 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));
************* di = Directory.CreateDirectory(@"C:\destination\NewDirectory", securityRules);

licensed under cc by-sa 3.0 with attribution.