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 ?
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
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" <x@y.com> a écrit dans le message de news:
mn.246f7d5b9db65566.23858@y.com...
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 ?
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 ?