Page 1 sur 1

[R] Faire la différence entre un Fichier et un Dossier

Posté : mer. 15 juil. 2009 14:11
par TommyDDR
Bonjour,

J'aimerais savoir s'il existe une fonction qui prend un nom en paramètre et qui retourne True ou False si le paramètre est un Fichier ou non.

Exemple : $retour = Is_File(Nom)

Merci

Re: [..] Faire la différence entre un Fichier et un Dossier

Posté : mer. 15 juil. 2009 15:06
par TommyDDR
Edit : Ne marche que si le dossier n'est pas vide.

Solution :

Code : Tout sélectionner

Func _Is_File($NomAChercher)
    Local $IsFichier = True
    Local $Fichier = FileFindFirstFile($NomAChercher"/*.*")
    if($Fichier = -1) then
        $IsFichier = False
    EndIf
return $IsFichier
 
Voila.

Re: [..] Faire la différence entre un Fichier et un Dossier

Posté : mer. 15 juil. 2009 15:52
par TommyDDR
... La solution ne marche que si le dossier n'est pas vide.

Si quelqu'un a une vrai solution...

Merci.

Re: [..] Faire la différence entre un Fichier et un Dossier

Posté : mer. 15 juil. 2009 16:59
par jumby
En bidouillant on peut trouver une solution :

Code : Tout sélectionner

$fileordirtocheck = 'nomdufichieroudossier' ; Place ici le chemin d'accès du fichier ou dossier à tester

if FileExists($fileordirtocheck) Then
$checkifisdir = DirGetSize($fileordirtocheck)
if $checkifisdir = -1 Then
    MsgBox(0, "C'est un fichier !", "C'est un fichier !")
Else
    MsgBox(0, "C'est un dossier !", "C'est un dossier !")
EndIf
EndIf

Re: [..] Faire la différence entre un Fichier et un Dossier

Posté : mer. 15 juil. 2009 17:28
par TommyDDR
Merci jumby pour ta réponse mais si je l'applique au dossier c:\ ...
bah je dois attendre plus de 2min avant d'avoir le résultat final (Dossier lourds ^^')

Une autre solution ? :p

Re: [..] Faire la différence entre un Fichier et un Dossier

Posté : mer. 15 juil. 2009 19:59
par orax

Code : Tout sélectionner

If StringInStr(FileGetAttrib("C:"),"D") Then
    ; dossier tu seras
EndIf

Re: [..] Faire la différence entre un Fichier et un Dossier

Posté : mer. 15 juil. 2009 21:01
par TommyDDR
Encore une fois orax, un grand merci à toi/vous (J'aime pas vouvoyer ^^')

Résolu.

Re: [R] Faire la différence entre un Fichier et un Dossier

Posté : jeu. 16 juil. 2009 13:43
par Tlem
Dans la version bêta de AutoIt et donc dans la future version, il suffira de regarder la valeur de la macro @extended. ;)