Comment enlever l'attribut lecture seule d'un repertoire
cs_globule
Messages postés327Date d'inscriptionmardi 8 octobre 2002StatutMembreDernière intervention 6 octobre 2010
-
7 mars 2007 à 15:12
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 2019
-
8 mars 2007 à 23:05
Comment enlever l'attribut lecture seule d'un repertoire (pas d'un fichier)
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 7 mars 2007 à 15:22
en utilisant les fonctions GetAttr et SetAttr (fort bien et fort simplement exposées dans ton aide en ligne !)
A condition que tu en aies les droits (administrateur ou utilisateur autorisé)
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 7 mars 2007 à 15:39
Salut Julien,
Que vient faire là-dedans l'argument VbDirectoty ?
de mon aide en ligne (en anglais, pardonnez-moi) :
Sets attribute information for a file.
Syntax
SetAttr pathname, attributes
The SetAttr statement syntax has these named arguments:
Part Description
pathname Required. String expression that specifies a file name—may include directory or folder, and drive.
attributes Required. Constant or numeric expression, whose sum specifies file attributes.
Settings
The attributes argument settings are:
Constant Value Description
vbNormal 0 Normal (default)
vbReadOnly 1 Read-only
vbHidden 2 Hidden
vbSystem 4 System file
vbArchive 32 File has changed since last backup
Note These constants are specified by Visual Basic for Applications. The names can be used anywhere in your code in place of the actual values.
Remarks
A run-time error occurs if you try to set the attributes of an open file.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 7 mars 2007 à 15:43
Salut,
La question posée est enlever l'attribut lecture seule d'un repertoire et non d'un fichier... d'ou mon exmple foirauex.
En revanche celui ci semble fonctionner.
Dim Fso As Object
Set Fso = CreateObject("Scripting.FileSystemObject")
Fso.GetFolder("C:\Test").Attributes = Directory Or ReadOnly 'met la lecture seule
Fso.GetFolder("C:\Test").Attributes = Directory 'Enlève lecture seule
Set Fso = Nothing
, ----
[code.aspx?ID=41455 By Renfield]
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 7 mars 2007 à 15:53
Re,
Je suis d'accord que ton code le met mais comment l'enlever? ou alors je ne comprend pas comment fonctionne SetAttr (c'est fortement possible aussi)
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 8 mars 2007 à 01:54
SetAttr n'est pas très performant,
il ne connait pas les attributs étendus et risque de les supprimer
if vaut mieux utiliser GetFileAttributes et SetFileAttributes et jouer avec les fonctions logiques pour ajouter ou enlever des attributs.
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 8 mars 2007 à 23:05
mais pour les attributs étendus ça ne marche pas
temporaire, compressé, index,etc .. et le 128 (normal) il ne connait pas
j'ai dû changer par les Api parce que GetAttr() renvoit bien le 8192 mais SetAttr() fait une erreur