[R] Listing de fichier récursif - sortie seulement des noms

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
cortx
Niveau 5
Niveau 5
Messages : 115
Enregistré le : dim. 04 mai 2008 16:10
Status : Hors ligne

[R] Listing de fichier récursif - sortie seulement des noms

#1

Message par cortx »

Bonjour;

J'ai un souci avec une utilisation de FileListToArrayEx
► Afficher le texte
Je bloque sur ScanFolder_2
Je veux n'avoir dans cette liste que les nom des fichiers et rien que ça.
Si je joue avec les flags je n'y arrive pas car comme j'utilise le flag pour chercher dans les sous dossiers, ce qui est retourné c'est sous_dossier\nom_fichier alors que moi je ne veux que le nom_fichier.

Ce que je cherche à faire est parfaitement réalisé dans la fonction ScanFolder_4, mais elle ne viens pas de moi et donc j'essaye de ré-écrire une partie du code en quelque chose de compréhensible pour mon niveau (Donc via _FileListToArrayEx et _FileWriteFromArray)

Pourriez vous me dire ce que je rate pour que ma fonction me retourne ce que j'attends.
J'ai tenté de faire un découpage du texte en utilisant "\" comme délimiteur mais ça ne m'avance pas plus car je ne sais pas à quel endroit dans le tableau va être la chaine que je dois ignorer (celle du nom du sous dossier voir du sous/sous dossier - Problème identique que la fonction 3 qui liste les dossiers, si il y a un sous-sous dossier ça m'affiche le sous dossier, puis le sous-sous dossier avec le chemin sous_dossier\sous_sous_dossier. Effectivement c'est une bonne chose, mais si on ne veux avoir que le nom des derniers dossier de la chaine, ça ne fonctionne pas)

Je vous met une petite demande d'information en spoil afin de m'aider à mieux comprendre la fonction ScanFolder_4
► Afficher le texte
Modifié en dernier par cortx le sam. 11 août 2012 14:15, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..]Listing de fichier récursif - sortie seulement des n

#2

Message par mikell »

Moui alors tu peux faire ça (par exemple)

Code : Tout sélectionner

For $i = 1 to $liste_fichiers2[0]
   $liste_fichiers2[$i] = _File_GetName($liste_fichiers2[$i])
Next
ArrayDisplay($liste_fichiers2)
Pour ScanFolder_4, ça aurait aussi bien pu être écrit comme ça

Code : Tout sélectionner

Func ScanFolder_4($sDir, $sListFile = @ScriptDir & "\list.txt")
"Default" représente le fichier où écrire s'il n'est pas précisé dans l'appel de la fonction

Code : Tout sélectionner

Func ScanFolder_4($sDir, $sListFile = Default)
    If $sListFile = Default Then $sListFile = @ScriptDir & "\list.txt"
Dans _File_GetName, le -1 dans StringInStr sert à repérer le 1er caractère \ rencontré à partir de la droite (cf. l'aide)

De toute façon, des fonctions FileListToArray custom, y en a des wagons :mrgreen:
Impossible de ne pas trouver son bonheur parmi tout ça
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
cortx
Niveau 5
Niveau 5
Messages : 115
Enregistré le : dim. 04 mai 2008 16:10
Status : Hors ligne

Re: [..] Listing de fichier récursif - sortie seulement des

#3

Message par cortx »

Pour le -1, toutes mes confuses, j'avais mal lu le use négative for right side.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Listing de fichier récursif - sortie seulement des

#4

Message par Tlem »

Pour votre besoin, l'UDF _RecFileListToArray sera plus approprié.

Code : Tout sélectionner

$liste_fichiers1 = _RecFileListToArray( $Chemin, $type_fichier_a_scanner_et_a_log, 1, 1, 0 ,[b]0[/b])
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é".
cortx
Niveau 5
Niveau 5
Messages : 115
Enregistré le : dim. 04 mai 2008 16:10
Status : Hors ligne

Re: [..] Listing de fichier récursif - sortie seulement des

#5

Message par cortx »

Merci à vous.

Comme l'a dit mikell, des FileListToArray il y en a des wagons.
Comment savoir lequel sera bon pour ce que je veux faire ?
Vous avez un système, vous qui vous y connaissez, pour mémoriser qui fait quoi et quelles sont les différences entre chaque ou alors vous les testez toutes les une après les autres pour trouver celle qui convient ?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Listing de fichier récursif - sortie seulement des n

#6

Message par mikell »

En fonction de ce qu'on recherche, on regarde dans la description les fonctionnalités proposées et les paramètres configurables, on fait un choix, et puis on teste, évidemment :wink:
Dans ton cas _RecFileListToArray avec le dernier paramètre à 0 permet de faire exactement le boulot désiré avec une fonction ScanFolder_4 qui fera 5 lignes
L'idéal étant de choisir l'udf la plus simple possible susceptible de fournir le résultat voulu
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Listing de fichier récursif - sortie seulement des n

#7

Message par Tlem »

En ce qui concerne les fonctions FileListToArray, je n'ai pas forcément la même vision des choses que certains utilisateurs.

Pour moi, une telle fonction doit faire ce qu'on lui demande, c'est à dire lister les fichier selon un mode récursif ou non mais en ce qui me concerne, autant je conçoit facilement qu'en mode non récursif le dossier soit omis, autant en mode récursif, je trouve cela totalement aberrant, car dans votre tableau, vous allez vous retrouver avec des tas de nom de fichiers, mais sans le chemin cela est complètement abstrait car non utilisable tel quel.

Ensuite, il y a les fonctions FileListToArray auxquelles certaines fonctionnalités ont été ajoutés. Alors oui, c'est bien, mais c'est toujours pareil, ces fonctionnalités ont été ajoutées pour des besoins spécifiques. Si cette fonctionnalité est un besoin, alors cela raccourcira la durée de traitement car tout sera fait dans la même fonction, mais dans le cas contraire, cela peut la ralentir ...
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