Partager via


Comment : déterminer si un répertoire est en lecture seule dans Visual Basic

Mise à jour : novembre 2007

La méthode My.Computer.FileSystem.GetDirectoryInfo retourne un objet DirectoryInfo dont la propriété Attributes peut être interrogée pour obtenir des informations sur le répertoire, notamment s'il est en lecture seule ou non.

Remarque :

Les options disponibles dans les boîtes de dialogue, ainsi que les noms et emplacements des commandes de menu que vous voyez, peuvent différer de ce qui est décrit dans l'aide selon vos paramètres actifs ou votre édition. Cette page d'aide concerne les Paramètres de développement généraux. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Paramètres Visual Studio.

Pour déterminer si un répertoire est en lecture seule

  1. Utilisez la méthode GetDirectoryInfo pour retourner un objet DirectoryInfo pour le répertoire spécifié. Cet exemple retourne un objet DirectoryInfo pour le répertoire TestDirectory.

    Dim reader As System.IO.DirectoryInfo
    reader = My.Computer.FileSystem.GetDirectoryInfo("C:\testDirectory")
    
  2. Interrogez la propriété Attributes de l'objet pour déterminer s'il est en lecture seule.

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

Exemple

L'exemple suivant qui présente l'extrait de code ci-dessus dans le formulaire complet détermine si le répertoire testDirectory est en lecture seule et indique le résultat dans un message.

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

Compilation du code

Si le répertoire n'existe pas, une exception n'est pas levée tant que vous n'accédez pas à une propriété de l'objet DirectoryInfo.

Programmation fiable

Les conditions ci-dessous peuvent générer une exception :

  • Le chemin d'accès n'est pas valide pour une des raisons suivantes : il s'agit d'une chaîne de longueur nulle ; il ne contient que des espaces blancs ; il contient des caractères non valides ou il s'agit d'un chemin d'accès de périphérique (qui commence par \\.\) (ArgumentException).

  • Le chemin d'accès n'est pas valide, car il a la valeur Nothing (ArgumentNullException).

  • Le chemin d'accès dépasse la longueur maximale définie par le système (PathTooLongException).

  • Un nom de fichier ou de répertoire du chemin d'accès contient un signe deux-points (:) ou n'a pas un format correct (NotSupportedException).

  • L'utilisateur n'a pas les autorisations nécessaires pour afficher le chemin d'accès (SecurityException).

Voir aussi

Tâches

Comment : déterminer les attributs d'un répertoire dans Visual Basic

Référence

My.Computer.FileSystem.GetDirectoryInfo, méthode