IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

[VB.NET] Comment supprimer un fichier en lecture seule ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Par défaut [VB.NET] Comment supprimer un fichier en lecture seule ?
    bonjour,

    Je souhaite simplement supprimer un fichier en lecture seule. Apparemment, je n'ai pas le droit par code de supprimer un fichier en lecture seule. Est-ce possible de changer l'attribut du fichier par code, puis de supprimer celui-ci ?

  2. #2
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    En utilisant la classe FileInfo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    dim fi as FileInfo = new FileInfo(@"X:\...\...\monfichier.ext");
    fi.IsReadOnly = false;
    fi.Delete();
    Je ne fais pas de VB.Net mais la syntaxe devrait être bonne. Il faut évidemment gérer les exceptions sur le Delete() même si je ne l'ai pas fait

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Par défaut
    salut,

    Je n'ai pas de propriété isReadonly.

    Voici le code que j'ai actuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ' test si le fichier est en lecture seule
    Dim f As New FileInfo(sFichierASupprimer)
    If Not (f.Attributes.ReadOnly = FileAttributes.ReadOnly) Then : f.Delete()
    Else :  ' Faut que j'en lève la lecture seule
    EndIf
    f = Nothing

  4. #4
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Par défaut

    f.Attribute est un champ de bits. Il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim f As New FileInfo("")
    If (f.Attributes And FileAttributes.ReadOnly) = 0 Then
      f.Delete()
    Else
        f.Attributes = f.Attributes And Not FileAttributes.ReadOnly
    End If


  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Par défaut
    Bon ca marche !


    Je t'avoue que je ne comprend pas les lignes de code


    Où sont les tags résolus svp ?

  6. #6
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par abelman
    f.Attribute est un champ de bits. Il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim f As New FileInfo("")
    If (f.Attributes And FileAttributes.ReadOnly) = 0 Then
    f.Delete()
    Else
    f.Attributes = f.Attributes And Not FileAttributes.ReadOnly
    End If

    Si le but poursuivi est de supprimer le fichier quelquesoit son état, je préfère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim f As New FileInfo("blablabla")
    If Not((f.Attributes And FileAttributes.ReadOnly) = 0) Then
       f.Attributes = f.Attributes And Not FileAttributes.ReadOnly
    End If
    f.Delete()

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Par défaut
    oui, c'est ce que j'ai fait en fait ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET] Comment supprimer un fichier qui est utilisé ?
    Par Toon94 dans le forum Windows Forms
    Réponses: 12
    Dernier message: 13/06/2010, 12h59
  2. Réponses: 3
    Dernier message: 28/06/2007, 14h35
  3. Réponses: 4
    Dernier message: 19/07/2006, 12h29
  4. Comment supprimer des fichiers en nombre ?
    Par Didier L dans le forum API, COM et SDKs
    Réponses: 13
    Dernier message: 25/01/2005, 16h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo