如何在具有多个属性时确定文件是否被隐藏

时间:2013-11-04 14:51:13

标签: .net vb.net

我正在处理特定文件夹中的所有Excel文件

Dim dirInfo As New DirectoryInfo(spreadsheetFolder)
excelFiles = dirInfo.GetFiles("*.xlsx")

在这个文件夹中,有时会出现“〜$ weird.xlsx”文件,我对这些文件不感兴趣并想跳过它们。

我想跳过任何隐藏的文件。这里的问题是fileinfo.attributes不只包含隐藏属性,它是

Hidden Or Archive Or NotContentIndexed {8226}

我在网上找到的代码仅在隐藏是唯一属性的情况下才有效,如果还有其他属性我该怎么办?

我知道我可以忽略任何以“〜$”开头的东西,但那不好玩,这个问题现在让我烦恼!

谢谢你们

1 个答案:

答案 0 :(得分:1)

您可以使用HasFlag属性。示例代码:

Dim excelFiles() As FileInfo = dirInfo.GetFiles("*.xlsx")

For Each curFile In excelFiles
    If (curFile.Attributes.HasFlag(FileAttributes.Hidden)) Then
      'This one is hidden
    End If
Next