有关创建隐藏文件夹的问题

时间:2015-11-03 05:54:45

标签: c#

我想创建一个文件夹,应该隐藏,因为我写了这样的代码

 string path = @"E:\newfolder";  
 if (!Directory.Exists(path))
 {
    DirectoryInfo di = Directory.CreateDirectory(path);
    if ((di.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
     {  
      di.Attributes |= FileAttributes.Hidden;
     }
 }

但是文件夹仍然可见,我不想更改Windows上的属性,所以我应该怎么做

1 个答案:

答案 0 :(得分:0)

你的代码很好。确保"不要显示隐藏的文件,文件夹或驱动器"在“文件夹选项”中选择。 (控制面板,单击“外观和个性化”,然后单击“文件夹选项”。)

或者您可以将文件夹属性设置为隐藏和系统,如下所示。然后只有在您设置"显示隐藏文件,文件夹或驱动器时才能看到它们。并取消选中"隐藏受保护的操作系统文件(推荐)"在文件夹选项中。

如果目录已存在,您的方法也将无效。所以我在if条件语句中添加了else部分来更改现有文件夹的属性。

string path = @"E:\newfolder";
if (!Directory.Exists(path))
{
   DirectoryInfo di = Directory.CreateDirectory(path);
   if ((di.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
   {
     di.Attributes = FileAttributes.System|FileAttributes.Hidden;//set attributes to System and Hidden.
   }
}
else
{
   //set attributes if the directory is already exists.
   DirectoryInfo di = new DirectoryInfo(path);
   if ((di.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
   {
     di.Attributes = FileAttributes.Hidden;
   }
}