我想创建一个文件夹,应该隐藏,因为我写了这样的代码
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上的属性,所以我应该怎么做
答案 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;
}
}