Я хочу установить разрешения для файла на «нельзя удалить» в C #, только для чтения. Но я не знаю, как это сделать. Вы можете мне помочь ?
Установить права доступа к файлам в C #
Ответы (3)
Взгляните на File.SetAttributes (). В Интернете есть множество примеров того, как его использовать.
Взято с этой страницы MSDN:
FileAttributes attributes = File.GetAttributes(path);
if ((attributes & FileAttributes.Hidden) == FileAttributes.Hidden)
{
// Show the file.
attributes = RemoveAttribute(attributes, FileAttributes.Hidden);
File.SetAttributes(path, attributes);
Console.WriteLine("The {0} file is no longer hidden.", path);
}
else
{
// Hide the file.
File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.Hidden);
Console.WriteLine("The {0} file is now hidden.", path);
}
person
jb.
schedule
28.09.2011
Думаю, вопрос в разрешениях, а не в атрибутах ...
- person Yousha Aleayoub; 21.04.2020
Это об атрибутах (см. Ответ jb.) Или разрешениях, то есть о доступе для чтения / записи и т. Д.? В последнем случае см. Файл .SetAccessControl.
Из MSDN:
// Get a FileSecurity object that represents the
// current security settings.
FileSecurity fSecurity = File.GetAccessControl(fileName);
// Add the FileSystemAccessRule to the security settings.
fSecurity.AddAccessRule(new FileSystemAccessRule(account, rights, controlType));
// Set the new access settings.
File.SetAccessControl(fileName, fSecurity);
См. Как предоставить полное разрешение на файл, созданный моим приложением, ВСЕМ пользователям? для более конкретного примера.
В исходном вопросе похоже, что вы хотите запретить право FileSystemRights.Delete
.
person
Echsecutor
schedule
07.10.2016
код также находится в этом MSDN
- person yu yang Jian; 11.08.2019
Ссылка выше (File.AccessControl) - это версия на немецком языке. Английская версия находится по адресу docs. .microsoft.com / en-us / dotnet / api / для тех, кто отвечает «Nein». в Sprichst du Deutsch '
- person Mark Ainsworth; 24.09.2019
Вы забыли скопировать метод RemoveAttribute, который:
private static FileAttributes RemoveAttribute(FileAttributes attributes, FileAttributes attributesToRemove)
{
return attributes & ~attributesToRemove;
}
person
MelloG
schedule
20.11.2012