2017-08-10 148 views
0

咱們說一個文件的屬性Hidden但是當我未選中的隱藏受保護的操作系統從文件夾選項文件文件是可見的。隱藏的屬性沒有完全隱藏文件?

Io.File.SetAttributes("File.txt",IO.FileAttributes.Hidden) 

如何解決此問題?

+0

什麼是你想在這裏完成?無論這些設置如何,您都可以要求資源管理器顯示隱藏文件您不能*真正*隱藏文件,只能向不想顯示的「大多數」應用程序發出信號,但這些程序仍可以很好地顯示文件,並且這包括Windows資源管理器。 –

+0

「如何解決此問題」,好吧,如果Windows資源管理器使用此設置顯示這些文件並且是爲了解決此問題,那麼您無法解決它。該文件將被顯示,你無法對此做任何事情。如果您懷疑Windows資源管理器存在關於此問題的錯誤,則應檢查是否存在有關應該執行的操作的文檔,然後使用Microsoft Connect提交錯誤。 –

+0

受保護的OS文件超級隱藏,它們也打開了FileAttributes.System。 –

回答

0

從要隱藏的文件,從不點允許顯示隱藏文件和文件夾,您可以限制哪些不會讓你打開擺在首位的目錄目錄的訪問可以看出。這段代碼可以使用:

DirectorySecurity dirSecurity; 
bool modifiedFlag; 

dirSecurity = Directory.GetAccessControl(yourFolderPath); 

foreach (AuthorizationRule rule in dirSecurity.GetAccessRules(true, true, typeof(System.Security.Principal.SecurityIdentifier))) 
{ 
     // Secure file to not allow any modification actions by user 
     dirSecurity.ModifyAccessRule(AccessControlModification.Add 
            , new FileSystemAccessRule(rule.IdentityReference, FileSystemRights.Modify, AccessControlType.Deny) 
            , out modifiedFlag); 
} 

Directory.SetAccessControl(yourFolderPath, dirSecurity); 

這樣做,您將阻止用戶甚至打開該文件夾。

+0

感謝您的回答,但是當我使用管理員帳戶時,這裏出現用戶訪問問題,我可以毫不費力地更改訪問控制。 – Nischal

+0

那麼,即使是管理員也需要一些努力來打開訪問權限。管理員不會看到直接更改訪問權的選項,因爲也會有繼承訪問。 – praty