Prüfen, ob eine Datei versteckt ist

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von FormFollowsFunction.

    Prüfen, ob eine Datei versteckt ist

    Moin!

    ich möchte gerne prüfen, ob eine Datei den Status versteckt hat oder nicht.

    Meine bisherigen Versuche gingen in die Richtung

    VB.NET-Quellcode

    1. Dim FileInformation As New IO.FileInfo(Datei)
    2. Dim FileEigenschaften As FileAttributes = FileInformation.Attributes()
    3. If FileEigenschaften.Hidden Then
    4. End If


    Aber irgendwie komme ich in der If-Abfrage nicht weiter.....

    Kann jemand weiterhelfen?

    Gruß Jan
    @jan99 Du bekommst ein Flag-Enum zurück, das musst Du mit HasFlag abfragen:

    VB.NET-Quellcode

    1. If FileEigenschaften.HasHlag(FileAttributes.Hidden) Then
    2. ' ...
    3. End If
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Aus meinem Fundus:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports System.Runtime.CompilerServices
    2. Imports System.IO
    3. Public Module FileAttributesExtensions
    4. <Extension>
    5. Public Function AttributesToList(ByVal fileInfo As FileInfo) As List(Of FileAttribute)
    6. Dim attributeList As New List(Of FileAttribute)
    7. For Each fileAttribute As FileAttribute In [Enum].GetValues(GetType(FileAttribute))
    8. If fileInfo.HaveAttributes(CType(fileAttribute, IO.FileAttributes)) Then
    9. attributeList.Add(fileAttribute)
    10. End If
    11. Next
    12. Return attributeList
    13. End Function
    14. <Extension>
    15. Public Function HaveAttributes(ByVal fileInfo As FileInfo, ByVal fileAttributes As IO.FileAttributes) As Boolean
    16. Return (fileInfo.Attributes And fileAttributes) = fileAttributes
    17. End Function
    18. <Extension>
    19. Public Sub AddAttributes(ByVal fileInfo As FileInfo, ByVal fileAttributes As IO.FileAttributes)
    20. File.SetAttributes(fileInfo.FullName, File.GetAttributes(fileInfo.FullName) Or fileAttributes)
    21. End Sub
    22. <Extension>
    23. Public Sub RemoveAttributes(ByVal fileInfo As FileInfo, ByVal fileAttributes As IO.FileAttributes)
    24. File.SetAttributes(fileInfo.FullName, File.GetAttributes(fileInfo.FullName) And Not fileAttributes)
    25. End Sub
    26. <Extension>
    27. Public Sub ClearAttributes(ByVal fileInfo As FileInfo)
    28. File.SetAttributes(fileInfo.FullName, IO.FileAttributes.Normal)
    29. End Sub
    30. End Module
    31. Public Module DirectoryAttributesExtensions
    32. <Extension>
    33. Public Function AttributesToList(ByVal directoryInfo As DirectoryInfo) As List(Of FileAttribute)
    34. Dim attributeList As New List(Of FileAttribute)
    35. For Each fileAttribute As FileAttribute In [Enum].GetValues(GetType(FileAttribute))
    36. If directoryInfo.HaveAttributes(CType(fileAttribute, IO.FileAttributes)) Then
    37. attributeList.Add(fileAttribute)
    38. End If
    39. Next
    40. Return attributeList
    41. End Function
    42. <Extension>
    43. Public Function HaveAttributes(ByVal directoryInfo As DirectoryInfo, ByVal fileAttributes As IO.FileAttributes) As Boolean
    44. Return (directoryInfo.Attributes And fileAttributes) = fileAttributes
    45. End Function
    46. <Extension>
    47. Public Sub AddAttributes(ByVal directoryInfo As DirectoryInfo, ByVal fileAttributes As IO.FileAttributes)
    48. File.SetAttributes(directoryInfo.FullName, File.GetAttributes(directoryInfo.FullName) Or fileAttributes)
    49. End Sub
    50. <Extension>
    51. Public Sub RemoveAttributes(ByVal directoryInfo As DirectoryInfo, ByVal fileAttributes As IO.FileAttributes)
    52. File.SetAttributes(directoryInfo.FullName, File.GetAttributes(directoryInfo.FullName) And Not fileAttributes)
    53. End Sub
    54. <Extension>
    55. Public Sub ClearAttributes(ByVal directoryInfo As DirectoryInfo)
    56. File.SetAttributes(directoryInfo.FullName, IO.FileAttributes.Normal)
    57. End Sub
    58. End Module