隐藏的属性没有完全隐藏文件?

问题描述:

咱们说一个文件的属性Hidden但是当我未选中的隐藏受保护的操作系统从文件夹选项文件文件是可见的。隐藏的属性没有完全隐藏文件?

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

如何解决此问题?

+0

什么是你想在这里完成?无论这些设置如何,您都可以要求资源管理器显示隐藏文件您不能*真正*隐藏文件,只能向不想显示的“大多数”应用程序发出信号,但这些程序仍可以很好地显示文件,并且这包括Windows资源管理器。 –

+0

“如何解决此问题”,好吧,如果Windows资源管理器使用此设置显示这些文件并且是为了解决此问题,那么您无法解决它。该文件将被显示,你无法对此做任何事情。如果您怀疑Windows资源管理器存在关于此问题的错误,则应检查是否存在有关应该执行的操作的文档,然后使用Microsoft Connect提交错误。 –

+0

受保护的OS文件超级隐藏,它们也打开了FileAttributes.System。 –

从要隐藏的文件,从不点允许显示隐藏文件和文件夹,您可以限制哪些不会让你打开摆在首位的目录目录的访问可以看出。这段代码可以使用:

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