kruder77
Goto Top

Datei Attribut NotContentIndexed

VB, VB.NET, Datei Attribute, ...

Hallo,

in der mscorlib ist die Konstante "Public Const NotContentIndexed As System.IO.FileAttributes = 8192" definiert.

Normalerweise kann man mit SetAttributes(Pfad,Attribute) die Attribute in ihrer Summe verändern und mit GetAttrib(Pfad)
die Attribute abrufen. Jedoch geht das nur mit Konstanten, welche in Microsoft.VisualBasic.Constants definiert sind
(z.B. vbReadOnly, vbHidden, etc.).

Wenn ich über eine CheckBox nun das Attribute NotContentIndexed setzen möchte, funktioniert dies auch partiell, d.h.
das Häckchen (unter Dateieigenschaften/Datei Attribute/erweitert) wird entfernt.

Wie jedoch kann ich überpüfen, bzw. welche andere GetAttrib(Pfad)-Methode gibt es welche mir bestätigt,
dass der Wert gesetzt wurde? Bei den anderen Attributen kann man das einfach mit:

Dim FA As FileAttributes = GetAttr(Pfad)

If (FA And vbReadOnly) Then
' Do Nothing, all right
ElseIf (FA <> vbReadOnly) Then
SetAttributes(Pfad, FA + vbReadOnly)
End If


Jedoch liefert mir GetAttrib() nur die besagte Summe aus den Microsoft.VisualBasic.Constants.
Kennt jemand vielleicht eine andere Methode durch welche ich auf die System.IO.FileAttribute zugreifen kann?
Oder hat eine andere Idee wie man dies managen kann?

Vielen Dank für die Hilfe
Kruder77

Content-ID: 99845

Url: https://administrator.de/contentid/99845

Ausgedruckt am: 08.11.2024 um 11:11 Uhr

kruder77
kruder77 21.10.2008 um 15:46:18 Uhr
Goto Top
Hallo,

hat sich soeben dank MSDN erledigt.

Lösung:

Dim FA As New FileInfo(Pfad)

If FA.Attributes=File.Attributes.NotContentIndexed Then
CB_NotContentIndexed.Checked=True
ElseIf FA.Attributes <> File.Attributes.NotContentIndexed Then
CB_NotContentIndexed.Checked=False
End If

Weitere Infos siehe: MSDN Datei Attribute Info
Gruß
Kruder77