[R] Chercher fichiers dans répertoires

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

[R] Chercher fichiers dans répertoires

#1

Message par JohnWayne »

Bonjour à tous,

Il y a peu de temps j'ai fait une demande pour chercher des valeurs dans des clés de registres préalablement définies. ( c'est sur ce sujet ) et Thlem m'avait donné une solution qui marche très bien.

Cependant je me suis dis que j'allais faire quelques choses de similaires pour rechercher des fichiers dans des répertoires préalablement définis. J'ai fait ce code :

Code : Tout sélectionner

Global $File[4] = [_
"idol","ben","start","part",_
]

Global $Dir[2] = [@ProgramFilesDIr,@AppDataDir]

for $1 = 0 to Ubound  ($file)  -1 ; Je retourne la dimension du tableau $file = 1ere boucle
for $2 = 0 to Ubound  ($Dir) -1 ; Je retourne la dimension du tableau $Dir = 2eme boucle

$Lop = FileExists($Dir[$1]& $file[$2])

if $lop then 

Local $First 

$First = FileFindFirstFile($lop)

If not $first = -1 Or Not @error then 
While 1
Local $next  
$next = FileFindNextFile($first)
if @error then exitloop
FilewriteLine(@homedrive & "\Test.txt", $Next & " Trouvé") 
Wend
         Endif
Else
         Endif
Next

For $1 = 0 to 2

Next

Le problème c'est pour le FileExists. La syntaxe n'est pas la bonne, or je voulais savoir comment contourner ce problème ou si il y avait une fonction FileExists plus avancée ?

Merci,

JW
Modifié en dernier par JohnWayne le jeu. 12 août 2010 11:42, modifié 2 fois.
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [...] Chercher fichiers dans répertoires

#2

Message par SrBelial »

il manque une chose indispensable si tu veux que la fonction FileExists fonctionne :
tu n'as pas ajouté de '\' entre le nom du répertoire et le nom du fichier ....

les macros du style @AppDataDir sont très pratique, mais elle renvoient toujours un chemin sans backslash final ....
du coup la concaténation avec le nom de fichier se passe mal
(ça donne par exemple :
C:\Documents and Settings\Administrateur\Application DataTest.txt
au lieu de
C:\Documents and Settings\Administrateur\Application Data\Test.txt)

essaie avec ça et reviens nous voir si ça marche toujours pas ! ^__^
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

Re: [...] Chercher fichiers dans répertoires

#3

Message par JohnWayne »

Salut

Si je mais ceci :

Code : Tout sélectionner

$Lop = FileExists($dir[$1]& "\"& $File[$2])
cela me met en erreur :

Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
$Lop = FileExists($dir[$1]& "\"& $File[$2])
$Lop = FileExists(^ ERROR


Mais là si je lit bien sa serait la variable $dir qui serait en cause non ?

Merci et a++
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [...] Chercher fichiers dans répertoires

#4

Message par Tlem »

Ce lien vous sera certainement très utile : http://www.autoitscript.fr/forum/viewto ... f=21&t=479
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é".
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

Re: [...] Chercher fichiers dans répertoires

#5

Message par JohnWayne »

Salut

Humm rechercher les fichiers grâce à la fontion FileListToArrayXT, j'aurais du y penser :D

Je test et vous tient au courant.
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [...] Chercher fichiers dans répertoires

#6

Message par SrBelial »

oui bonne idée !
sinon pour en finir avec la fonction FileExists, le problème vient en effet de votre variable $dir ...
le message d'erreur nous dit que soit ce n'est pas une variable de type tableau, soit vous essayez d'accéder à un index supérieur ou égale à la longueur du tableau ...
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

Re: [...] Chercher fichiers dans répertoires

#7

Message par JohnWayne »

Salut

En effet c'est parfait pour moi :D Par contre j'ai une question :

- Dans cette fonction :

Code : Tout sélectionner

#include<Array.au3>
#include<FileListToArrayXT.au3>

$ar_Array = _FileListToArrayXT (@programfilesdir, "01*;2*", 0, 2, True, "Temp")
_ArrayDisplay($ar_Array, "Liste fichier")
=> J'aimerais qu'il me trouve tous les éléments commençant par 01 et 2 mais seulement dans C:\programfiles\ et non dans C:\programfiles\blabla\

Je sais pas si tu vois ce que je veux dire ?

Merci et @++
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [...] Chercher fichiers dans répertoires

#8

Message par Tlem »

Hé bien dans ce cas, enlevez la récursivité (Quatrième paramètre). :wink:
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é".
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

Re: [...] Chercher fichiers dans répertoires

#9

Message par JohnWayne »

Salut

Et bien ma fois c'est la classe. C'était le paramètre que j'avais pas compris. Enfaite la récursivité sert à rechercher sur tous les fichiers/dossiers présents dans le répertoire que l'on a indiqué ?

Merci encore,

JW
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [...] Chercher fichiers dans répertoires

#10

Message par Tlem »

A votre avis !!! :roll:
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é".
JohnWayne
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mer. 24 mars 2010 17:48
Status : Hors ligne

Re: [...] Chercher fichiers dans répertoires

#11

Message par JohnWayne »

J'ai encoure loupé une occasion de fermer ma gueule moi.

Sujet résolu.
Répondre