2011-09-28 6 views
5

C#에서 "삭제할 수 없습니다"라는 파일에 대한 사용 권한을 설정하고 읽기 전용으로 설정하고 싶습니다. 그러나 나는 이것을 어떻게하는지 모른다. 너 나 좀 도와 줄 수있어?C#에서 파일 사용 권한 설정

답변

7

File.SetAttributes()을 살펴보십시오. 그것을 사용하는 방법에 대한 온라인 예제가 많이 있습니다. 당신은 RemoveAttribute 방법에 복사하는 것을 잊었다

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); 
     } 
2

입니다 : : 그 MSDN 페이지에서 촬영

private static FileAttributes RemoveAttribute(FileAttributes attributes, FileAttributes attributesToRemove) 
    { 
     return attributes & ~attributesToRemove; 
    } 
0

이 속성에 대해 이것이다. (JB 참조의 대답) 또는 권한 , 즉 읽기/쓰기 액세스 등? 후자의 경우 File.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); 

는보다 구체적인 예를 들어 How to grant full permission to a file created by my application for ALL users?를 참조하십시오.

원래 질문에서 FileSystemRights.Delete을 허용하지 않으려는 것 같습니다.