Détecter un fichier caché [Résolu]

Signaler
Messages postés
134
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
6 juin 2007
-
Messages postés
134
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
6 juin 2007
-
Bonjour,

Ma question est sans doute très bête... Mais y'a un truc qui m'échappe...
Je veux juste faire un test pour savoir si un fichier est caché.
Plein d'espoir je tape un truc du genre :
if ( System.IO.File.GetAttributes(Cli.Chemin) == System.IO.FileAttributes.Hidden)

Mais non, mes fichiers caché ne répondent pas à ce test !
Je subodore qu'en fait, mes fichiers doivent avoir plusieurs attributs combinés, dont "caché", et que donc, le == n'est pas approprié...
Alors que faire ?

Merci de votre aide.

AlicVB

2 réponses

Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
61
Hello,

En effet, un fichier peut avoir plusieurs attribut, et le type énuméré FileAttribute est construit de manière à pouvoir faire ce control, car chaque valeur possible est une puissance de deux.

Ce qui fait qu'on peut faire des opérations bit à bit sur ces énums.

if

( (
File.
GetAttributes(Cli.Chemin
) &
FileAttributes.
Hidden) >0)
Avec un seul '&', il fait un And binaire sur chacun des bits. Le résultat est aussi un FileAttributes, donc un entier.
Si le résultat est >0, cela signifie que le flag Hidden est activé.

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Messages postés
134
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
6 juin 2007

Génial...
Merci beaucoup... surtout qu'en fouillant un peu, je sens que je devrait être capable (enfin) de construire moi-même des énumérations de ce type...

AlicVB