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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2116
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

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

#1

Message 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
Modifié en dernier par TommyDDR le mer. 15 juil. 2009 21:02, modifié 1 fois.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2116
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

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

#2

Message 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.
Modifié en dernier par TommyDDR le mer. 15 juil. 2009 15:53, modifié 1 fois.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2116
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

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

#3

Message par TommyDDR »

... La solution ne marche que si le dossier n'est pas vide.

Si quelqu'un a une vrai solution...

Merci.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
jumby
Niveau 5
Niveau 5
Messages : 118
Enregistré le : jeu. 12 juin 2008 17:50
Status : Hors ligne

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

#4

Message 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
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2116
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

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

#5

Message 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
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

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

#6

Message par orax »

Code : Tout sélectionner

If StringInStr(FileGetAttrib("C:"),"D") Then
    ; dossier tu seras
EndIf
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2116
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

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

#7

Message par TommyDDR »

Encore une fois orax, un grand merci à toi/vous (J'aime pas vouvoyer ^^')

Résolu.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#8

Message 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. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre