Détecter un fichier caché

Résolu
alicvb Messages postés 134 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 6 juin 2007 - 5 juin 2007 à 20:30
alicvb Messages postés 134 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 6 juin 2007 - 6 juin 2007 à 12:43
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

SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
6 juin 2007 à 08:17
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)
3
alicvb Messages postés 134 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 6 juin 2007 1
6 juin 2007 à 12:43
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
0
Rejoignez-nous