Gewusst wie: Ermitteln, ob ein Verzeichnis schreibgeschützt ist in Visual Basic

Die GetDirectoryInfo-Methode gibt ein DirectoryInfo-Objekt mit einer Attributes-Eigenschaft zurück, die abgefragt werden kann, um Informationen über das Verzeichnis, z. B. ob dieses schreibgeschützt ist, zu ermitteln.

Tipp

Ihr Computer zeigt möglicherweise für einige der Elemente der Visual Studio-Benutzeroberfläche in der folgenden Anleitung andere Namen oder Standorte an. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Visual Studio-Einstellungen.

So ermitteln Sie, ob ein Verzeichnis schreibgeschützt ist

  1. Verwenden Sie die GetDirectoryInfo-Methode, um ein DirectoryInfo-Objekt für das angegebene Verzeichnis zurückzugeben. In diesem Beispiel wird ein DirectoryInfo-Objekt für das Verzeichnis TestDirectory zurückgegeben.

    Dim reader As System.IO.DirectoryInfo
    reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
    
  2. Fragen Sie die Attributes-Eigenschaft des Objekts ab, um zu bestimmen, ob es schreibgeschützt ist.

    If (reader.Attributes And System.IO.FileAttributes.ReadOnly) > 0 Then
        MsgBox("Directory is readonly!")
    End If
    

Beispiel

Im folgenden Beispiel, das den oben stehenden Ausschnitt in vollständiger Form darstellt, wird bestimmt, ob das Verzeichnis testDirectory schreibgeschützt ist, und das Ergebnis wird in einem Meldungsfeld ausgegeben.

Dim reader As System.IO.DirectoryInfo
reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
If (reader.Attributes And System.IO.FileAttributes.ReadOnly) > 0 Then
    MsgBox("File is readonly!")
End If

Kompilieren des Codes

Wenn das Verzeichnis nicht vorhanden ist, wird erst eine Ausnahme ausgelöst, wenn das erste Mal auf eine Eigenschaft im DirectoryInfo-Objekt zugegriffen wird.

Robuste Programmierung

Die folgenden Bedingungen können einen Ausnahmefehler verursachen:

  • Der Pfad ist bei einem der folgenden Gründe ungültig: Es ist eine Zeichenfolge der Länge 0 (null); Sie enthält nur Leerraum. er enthält ungültige Zeichen. Es ist ein Gerät oder Pfad (beginnt mit \ \. \) (ArgumentException).

  • Der Pfad ist ungültig, da er Nothing ist (ArgumentNullException).

  • Der Pfad überschreitet die im System definierte maximale Länge (PathTooLongException).

  • Der Pfad eines Datei- oder Verzeichnisnamens enthält einen Doppelpunkt (:) oder hat ein ungültiges Format (NotSupportedException).

  • Dem Benutzer fehlen die erforderlichen Berechtigungen zum Anzeigen des Pfades (SecurityException).

Siehe auch

Aufgaben

Gewusst wie: Bestimmen der Attribute eines Verzeichnisses in Visual Basic

Referenz

GetDirectoryInfo