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

C# Discussion :

Passer un dossier ainsi que tous les sous-dossiers en lecture seule


Sujet :

C#

  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2011
    Messages : 48
    Par défaut Passer un dossier ainsi que tous les sous-dossiers en lecture seule
    Bonjour, je dois créer une mini application pour passer un dossier en lecture seule et l'inverse.

    J'ai tenté avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    string path = @"C:\Program Files\Mon Dossier";
    File.SetAttributes(path, FileAttributes.ReadOnly);
    Mais ça ne change pas les attributs des sous-dossiers et des fichiers contenus dans Mon Dossier..

    Merci de votre aide

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2012
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 87
    Par défaut
    Hello,

    Comme son nom l'indique, File.SetAttributes modifie les attributs d'un fichier et non pas d'un répertoire.

    Pour modifier l'attribut d'un répertoire il faut utiliser :
    DirectoryInfo.Attributes = FileAttributes.ReadOnly

    Si tu veux également changer l'intégralité des fichiers et sous-dossiers le plus simple sera de passer par une méthode récursive.

    Du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    public void Main()
    {
        DirectoryInfo parentDirectoryInfo = new DirectoryInfo(@"C:\Program Files\Mon Dossier");
        RetirerLectureSeule(parentDirectoryInfo);
    }
     
    private void RetirerLectureSeule(DirectoryInfo parentDirectory)
    {
        if(parentDirectory != null)
        {
            parentDirectory.Attributes = FileAttributes.Normal;
            foreach (FileInfo fi in parentDirectory.GetFiles())
            {
                fi.Attributes = FileAttributes.Normal;
            }
            foreach (DirectoryInfo di in parentDirectory.GetDirectories())
            {
                RetirerLectureSeule(di);
            }
        }
    }
    Plus qu'a faire pareil pour passer en read-only.

    Cdlt,
    MvK

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2011
    Messages : 48
    Par défaut
    Ah génial ! Merci beaucoup


    Sarah

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

Discussions similaires

  1. Lister tous les sous-dossiers d'un répertoire
    Par Invité dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 16/06/2011, 04h34
  2. Réponses: 3
    Dernier message: 22/01/2011, 15h31
  3. [XL-2000] recherche dans tous les sous-dossiers
    Par zandru dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/01/2010, 10h32
  4. Réponses: 3
    Dernier message: 29/07/2009, 15h16
  5. Liste de fichiers dans tous les sous dossiers
    Par TaleMaker dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/12/2008, 18h29

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