C# C语言中的隐藏目录#
我在驱动器F中创建了一个隐藏目录,并将其命名为“File” 此代码显示它是隐藏文件:C# C语言中的隐藏目录#,c#,directory,console-application,C#,Directory,Console Application,我在驱动器F中创建了一个隐藏目录,并将其命名为“File” 此代码显示它是隐藏文件:Console.WriteLine(dc.Attributes) 但当我使用DirectoryInfo属性检查它是否是隐藏文件时,它将无法工作 代码如下: DirectoryInfo dc = new DirectoryInfo(@"F:\File"); Console.WriteLine(dc.Attributes); if (dc.Attributes == FileAttri
Console.WriteLine(dc.Attributes)代码>
但当我使用DirectoryInfo属性检查它是否是隐藏文件时,它将无法工作
代码如下:
DirectoryInfo dc = new DirectoryInfo(@"F:\File");
Console.WriteLine(dc.Attributes);
if (dc.Attributes == FileAttributes.Hidden)
{
Console.WriteLine("HIDDEN");
}
else
{
Console.WriteLine("NOT HIDDEN");
}
它写入而不是隐藏的。那我该怎么办
提前感谢问题在于属性值是多个属性的按位组合
要测试是否设置了FileAttributes.Hidden
属性,需要执行以下操作:
if ((dc.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden)
我建议您阅读。问题在于属性值是多个属性的按位组合
要测试是否设置了FileAttributes.Hidden
属性,需要执行以下操作:
if ((dc.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden)
我建议您阅读。如果您使用的是.NET 4及以上版本,请执行以下操作:
dir.Attributes.HasFlag(FileAttributes.Hidden)
如果您使用的是.NET 4及以上版本,请执行以下操作:
dir.Attributes.HasFlag(FileAttributes.Hidden)
你试过这个吗?你试过这个吗?