Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment enlever l'attribut archive d'un fichier

2 réponses
Avatar
FRANCOIS Philippe
Bonjour,

Je souhaiterais enlever le FileAttributes.Archive d'un fichier.

Faut-il sauvegarder tous les attributs du fichier et les "remettre"
(sans FileAttributes.Archive) avec File.SetAttributes ou il y a-t-il
une méthode plus simple ?

D'avance merci de vos réponses

--
Philippe FRANCOIS

2 réponses

Avatar
FRANCOIS Philippe
> Je souhaiterais enlever le FileAttributes.Archive d'un fichier.




J'ai trouvé çà qui fonctionne :

File.SetAttributes(fichier, File.GetAttributes(fichier) &
~FileAttributes.Archive);

--
Philippe FRANCOIS
Avatar
Zoury
Salut Philippe ! :O)

Faut-il sauvegarder tous les attributs du fichier et les "remettre" (sans
FileAttributes.Archive) avec File.SetAttributes ou il y a-t-il une méthode
plus simple ?



Presque... Les attributs d'un fichier sont conservé sous forme de bitmask.
tu n'as donc, théoriquement, qu'à modifier le bit de l'attribut qui te
concerne. Il faut toutefois s'assurer de ne pas se retrouver avec un
attribut égale à 0, car cette valeur n'existe pas... un fichier "sans"
attributs doit avoir le bit "Normal" d'activé (128).

Ex :
'***
Private Sub EnleverAttributFichier(ByVal cheminFichier As String, ByVal
attribut As FileAttributes)

Dim attributsFichier As FileAttributes =
File.GetAttributes(cheminFichier)

' on vérifie si l'atribut spécifié est activé sur notre fichier
If ((attributsFichier And attribut) = attribut) Then

' si oui, on l'enlève
attributsFichier = attributsFichier Xor attribut

' on s'assure maintenant d'affecter la valeur "Normal"
' si aucun autre attribut n'est actif
If (CType(attributsFichier, Int32) = 0) Then
attributsFichier = FileAttributes.Normal
End If

' modifie l'attribut du fichier
File.SetAttributes(cheminFichier, attributsFichier)

End If

End Sub
'***


--
Cordialement
Yanick
MVP pour Visual Basic
"FRANCOIS Philippe" a écrit dans le message de news:

Bonjour,

Je souhaiterais enlever le FileAttributes.Archive d'un fichier.

Faut-il sauvegarder tous les attributs du fichier et les "remettre" (sans
FileAttributes.Archive) avec File.SetAttributes ou il y a-t-il une méthode
plus simple ?

D'avance merci de vos réponses

--
Philippe FRANCOIS