Page 1 sur 1
[..]Ecriture lecture
Posté : jeu. 28 mai 2009 14:59
par jcaspar
B
onjour à tous !
Je souhaiterais pouvoir tester si un repertoire est accessible en
lecture et en ecriture ?
Cela est il possible avec autoit ?
Merci d'avance pour vos idées et suggestions
Jean Marc
Re: [..]Ecriture lecture
Posté : jeu. 28 mai 2009 17:45
par jumby
Bonjour,
Je te propose d'utiliser filegetattrib, si cette fonction retourne la valeur "R", le répertoire est "READONLY" ce qui sous entend que l'on ne peut pas écrire dans ce répertoire. Si cette fonction retourne la valeur "D", le chemin indiqué correspond à celui d'un répertoire.
Voici le détail :
"R" = READONLY
"A" = ARCHIVE
"S" = SYSTEM
"H" = HIDDEN
"N" = NORMAL
"D" = DIRECTORY
"O" = OFFLINE
"C" = COMPRESSED (NTFS compression, not ZIP compression)
"T" = TEMPORARY
On peut imaginer le code suivant :
Code : Tout sélectionner
$testattribdir = FileGetAttrib ( "dossiertest" )
if $testattribdir = "RD" Then
MsgBox(0, "Readonly", "Le répertoire est accessible en lecture, mais n'est pas accessible en écriture")
EndIf
if $testattribdir = "D" Then
MsgBox(0, "Readonly", "Le répertoire est accessible en lecture et écriture")
EndIf
Re: [..]Ecriture lecture
Posté : jeu. 28 mai 2009 20:55
par Tlem
Attention ... La solution de jumby est presque bonne, mais présente un gros défaut.
Si le répertoire à un autre attribut que R ou D alors la condition n'est plus bonne.
En fait, pour tester l'attribut d'un fichier ou d'un dossier, il faut regarder dans la chaîne retournée par FileGetAttrib si ce dernier est présent grace à la fonction StringInStr (un seul attribut à la fois).
Regardez l'exemple dans la documentation de la commande FileGetAttrib.