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

ASP.NET Discussion :

[C#] Répertoires : comment vérifier s'il est caché ou non ?


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 75
    Points : 47
    Points
    47
    Par défaut [C#] Répertoires : comment vérifier s'il est caché ou non ?
    Bonjour,

    je récupère les sous-répertoires d'un répertoire par Directory.GetDirectories(), et j'aimerais n'obtenir que les noms des sous-répertoires qui ne sont pas cachés !
    Comment faire ? :o

  2. #2
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    S'il est caché, je ne pense pas que tu puisse le récuperer tout simplement.

    Je sais que pour les fichiers c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (tonFichier.GetAttributes()==FileAttributes.Hidden)
        //fichier caché
    else
        //fichier non caché
    Donc peut être que si tu fais un cast ca marchera

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 75
    Points : 47
    Points
    47
    Par défaut
    Ben pourtant je les récupère ! :o

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 28
    Points : 25
    Points
    25
    Par défaut
    Oui, tu récupères tout, cachés ou pas, c'est à toi de filtrer selon les attributs.

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 75
    Points : 47
    Points
    47
    Par défaut
    dans ton exmple, tonFichier est de quel type ? Tu la trouves où la méthode getAttributes() ? :o

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 28
    Points : 25
    Points
    25
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ArrayList al = new ArrayList();
    string[] dirs = Directory.GetDirectories("C:\\");
    foreach(string dir in dirs) 
      if ((new DirectoryInfo(dir).Attributes & FileAttributes.Hidden) == FileAttributes.Hidden)
        al.Add(dir);
    Il y a peut-être mieux, mais ça devrait faire l'affaire

  7. #7
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    tonFichier est de type File

  8. #8
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 75
    Points : 47
    Points
    47
    Par défaut
    Je comprends pas le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    & FileAttributes.Hidden
    Tu peux expliquer stp ?

  9. #9
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 75
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par BiMouXeTTe
    tonFichier est de type File
    Ca tombe mal parce que je cherche à repérer les répertoires cachés !

  10. #10
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 75
    Points : 47
    Points
    47
    Par défaut
    Quelqu'un a réfléchi à ce problème pendant ce week-end?

  11. #11
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 28
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par maxo
    Je comprends pas le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    & FileAttributes.Hidden
    Tu peux expliquer stp ?
    Typiquement les attributs d'un fichier son représentés par un masque binaire, en C# ils ont fait une enumération pour chaque attribut (je ne connais pas les valeurs mais j'imagine que ce sont des valeurs entières chacune étant une puissance de deux, c'est-à-dire un seul bit à 1 parmi les 4 octets), supposons qu'on a la définition suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public enum FileAttributes : int {
    ReadOnly = 0x01 (00000001),
    Hidden = 0x02 (00000010),
    ...
    Directory = 0x10 (00010000),
    ...
    }
    Maintenant supposons que pour un repertoire R, DirectoryInfo(R).Attributes soit égal à 0x12 (00010010).
    Si on fait un & bit-à-bit avec Hidden (00000010) ça nous donne :
    00010010
    00000010 &
    --------
    00000010 = (Hidden)
    En fait pour tester chacun des attributs d'un fichier il faut faire un & binaire avec l'attribut en question pour vérifier que le bit qui lui est associé est bien mis à 1.

    Notez également que 0x12 n'est rien d'autre qu'un | ('ou' bit-à-bit) entre les attributs Directory (un repertoire est aussi un fichier) et Hidden.

    Bon, je sais que je suis pas pédagogue de génie mais j'espère que ça t'aura un tant soit peu éclairci.

  12. #12
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 75
    Points : 47
    Points
    47
    Par défaut
    Yep ! Non seulement ça marche mais en plus j'ai tout compris !
    Merci

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

Discussions similaires

  1. Comment savoir si un volet s'est caché ?
    Par tintinux dans le forum Langage
    Réponses: 3
    Dernier message: 13/10/2011, 11h22
  2. Réponses: 3
    Dernier message: 07/10/2005, 10h34
  3. Comment débuter en prog quand on est aveugle
    Par Rataf dans le forum Débuter
    Réponses: 2
    Dernier message: 04/04/2003, 23h13
  4. Réponses: 4
    Dernier message: 10/09/2002, 18h09
  5. Webbrowser : Comment ne pas prendre la page en cache
    Par cedm78 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 30/08/2002, 12h17

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