[R] Recherche de dossiers contenant certains fichiers

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
shiroken
Niveau 1
Niveau 1
Messages : 12
Enregistré le : ven. 29 avr. 2011 19:18
Status : Hors ligne

[R] Recherche de dossiers contenant certains fichiers

#1

Message par shiroken »

Bonjour,

Je recherche depuis plusieurs jours déjà un moyen de lister des répertoires (et leurs sous répertoires s'il y en a) contentant des fichiers .pdf et .tif.
J'ai testé l'ensemble des udf de type "_FileListtoArrayxx" cité par ce post : viewtopic.php?f=21&t=479 mais aucun ne me permet d'obtenir le résultat que je veux! (oui, d'accord, je suis un peu difficile :D )
J'ai même trouvé un _FileListToArrayNT7, mais ce n'est pas mieux!
Parmi ces UDF, j'élimine déjà ceux qui ne gèrent pas la récursivité, et ceux qui ne gèrent pas plusieurs filtres de recherche.
Pour ceux qui reste, s'ils fonctionnent tous quand on veut la liste des fichiers, tout ce gate quand je ne demande que la liste des dossiers concernés! Dans le meilleurs des cas, avec la commande "_ArrayDisplay" , j'ai un tableau vide qui apparaît à l'écran, et dans le pire des cas, rien du tout!

Si quelqu'un à une idée... Merci d'avance.
Modifié en dernier par shiroken le jeu. 15 déc. 2011 09:36, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Recherche de dossiers contenant certains fichiers

#2

Message par Tlem »

Cette fonction fait ce que vous demandez !
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é".
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Recherche de dossiers contenant certains fichiers

#3

Message par jchd »

Il doit bien exister une version francisée de RFLTA (RecFileListToArray) de notre bon ami le "perfide aviateur" Melba23. Sinon tu peut l'employer directement.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
shiroken
Niveau 1
Niveau 1
Messages : 12
Enregistré le : ven. 29 avr. 2011 19:18
Status : Hors ligne

Re: [..] Recherche de dossiers contenant certains fichiers

#4

Message par shiroken »

J'ai déjà testé ces 2 UDF, mais sans succès dans le cas d'une recherche avec "filtre", "récursivité" et "n'afficher que les dossiers concernés....
J'ai épluché le forum de long en large avant de poster ma demande.
shiroken
Niveau 1
Niveau 1
Messages : 12
Enregistré le : ven. 29 avr. 2011 19:18
Status : Hors ligne

Re: [..] Recherche de dossiers contenant certains fichiers

#5

Message par shiroken »

pour être plus précis, ces 2 UDF ne me retournent plus aucun résultat dès que je remplace le filtre "*" par "*.tif" (ou autre)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Recherche de dossiers contenant certains fichiers

#6

Message par Tlem »

Je ne comprend vraiment pas votre problème !!!

Le code ci-dessous me retourne bien la liste des fichiers *.bmp du dossier Windows ainsi que de ses sous répertoires :

Code : Tout sélectionner

#include <Array.au3>
#include "_FileListToArrayEx.au3"

$Path = "C:\Windows"
$Filter = "*.bmp"

$aArray = _FileListToArrayEx($Path, $Filter, 0, 2)

_ArrayDisplay($aArray)
J'ai testé en utilisant *.tif sur un répertoire de mon ordinateur qui contient des fichiers *.tif et un dossier nommé TIF et j'ai bien en retour uniquement les fichiers.
Pour avoir les fichiers + le dossier nommé TIF, je remplace la recherche par *TIF. Si je ne met que TIF alors seul le dossier TIF est trouvé !

Tout cela est un comportement NORMAL. La fonction fait ce que vous lui demandez. Si vous attendez un autre comportement, merci de l'expliquer plus en détail.
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é".
shiroken
Niveau 1
Niveau 1
Messages : 12
Enregistré le : ven. 29 avr. 2011 19:18
Status : Hors ligne

Re: [..] Recherche de dossiers contenant certains fichiers

#7

Message par shiroken »

Désolé si mon explication est confuse
En fait, je cherche à lister tous les répertoires et sous répertoires contenant des .tif (ou autre), pour obtenir uniquement la liste des répertoires et sons répertoires concerné, pas la liste des fichiers!
Tous les UDF ou presque que j'ai testé propose en paramètre de faire ressortir ou la liste répertoires + fichiers, ou la liste des fichiers uniquement, ou la liste des répertoire uniquement.
C'est ce dernier point qui m'intéresse, mais je n'obtient pas le résultat demandé.
Cela vient peut être d'une erreur de paramètre de ma part (je suis un néophyte), mais j'ai déjà utilisé plusieurs de ces UDF (il est vrai, pour obtenir une liste de fichiers), et j'ai toujours obtenu ce que je voulais!
Ma demande est peut être un peut tordu, mais, dans le cadre de mon travail, je dois exécuter un programme qui convertit tous les tifs d'un répertoire et de ses sous répertoires (mais a l'arborescence variable...), qui les transforment en pdf (avec passage à l'OCR) dans un répertoire de sortie, et supprime les tifs d'origine. Mais ce programme ne possédant pas d'interface, et traitant plusieurs milliers de fichiers, le traitement est très long (plusieurs jours), et je me suis fais un programme qui surveille le contenu des répertoires en entré et sortie.

Voilà, j'espère avoir été assez claire ce coup ci, et je vous remercie pour le temps que vous me consacrer.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Recherche de dossiers contenant certains fichiers

#8

Message par jchd »

Il suffit d'appliquer un post-traitement à la liste des fichiers (incluant leur chemin complet) répondant au filtre.

C'est simple : les fonctions sont des FileListToArray ou dérivés, pas des FolderListOfFilteredFilesToArray.

Une expression régulière (regexp) permettra de ne conserver que la partie chemin de chaque entrée du tableau, puis un _ArrayUnique éjectera les doublons.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Recherche de dossiers contenant certains fichiers

#9

Message par Tlem »

On tombe là dans une demande de fonctionnement bien spécifique.
Ceci dit, après modification grossière de _FileListToArrayEx(), je vous propose le code ci-dessous qui colle au cahier des charges. :roll:
► Afficher le texte
Il y a probablement moyen de simplifier encore, mais j'avoue ne pas avoir pris le temps de chercher plus. Et puis c'est pas pour 5 ou dix lignes de code en trop ... :mrgreen:
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é".
shiroken
Niveau 1
Niveau 1
Messages : 12
Enregistré le : ven. 29 avr. 2011 19:18
Status : Hors ligne

Re: [..] Recherche de dossiers contenant certains fichiers

#10

Message par shiroken »

Et voilà, j'ai posté dans le but de savoir si les UDF que je testais n'étaient pas adapté à ma demande, ou si c'est moi qui les paramétrait mal les UDF.... et on me sors un code prêt à l'emploi!! :mrgreen:

Je viens de le tester, et à première vue, ça conviendrait tout a fait!!

Je vous remercie tous les 2 de vos réponses!
Répondre