[R] Pattern basique ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

[R] Pattern basique ?

#1

Message par PandiPanda »

Bonjour,
Je solicite votre aide sur un "petit?" problème concernant les pattern ... Je suis complètement nul à ca, me suis cassé la tête depuis deja pas mal de temps, en espérant avoir un peu d'aide, Merciiiii !!!

Voici ce que le pattern dois accomplir :O

Si le string est ceci:

Code : Tout sélectionner

 - "14/10/2011  14:57             4.438 Copie (2) de Sans titre.JPG" il doit retourner un array[0] = Copie (2) de Sans titre.JPG

- "14/10/2011  14:57             4.438 4.438.JPG" il doit retourner un array[0] = 4.438.JPG

- "14/10/2011  14:57             4.438 TestNewFile4.438SansTitre.JPG" il doit retourner un array[0] = TestNewFile4.438SansTitre.JPG
Pour ceux qui veulent effecuter plus de test ^^
► Afficher le texte
Modifié en dernier par PandiPanda le ven. 14 oct. 2011 17:41, modifié 1 fois.
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Pattern basique ?

#2

Message par sksbir »

bonjour

la solution consiste à utiliser stringmid() tout simplement.
stringmid($LIGNE,38) devrait te fournir la ligne amputée des 38 1ers caractères, ce qui semble correspondre...

Maintenant, si je peux me permettre un petit conseil:

- d'abord , si c'est pour exploiter le résultat d'une commande "dir" du DOS, il faut utiliser "dir /b", ce qui te donneras simplement la liste des fichiers.

- et surtout: pourquoi utiliser le résultat d'une commande "dir", alors qu'autoit est directement capable de lister un répertoire ( voir fonction filefindfirstfile) ???
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Pattern basique ?

#3

Message par Iste »

M'en suis sorti avec ca :

Code : Tout sélectionner

"^.*?:[0-9.]+? +?[0-9.]+? (.*)$"
 
Mais y'a sans doute mieux
La je me base sur les deux points (:) de l'heure pour démarrer la recherche.
Signez ici
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Pattern basique ?

#4

Message par PandiPanda »

Merci pour le conseil, pour le /b le problème étant que je veuille inscrire dans un array les dossiers ET les fichiers ^^
donc je pourrai bien le faire en 2 étapes, mais ca demande de faire 2 recherche distinct ...

Oui, vous avez raison, je pourrai le faire via "filefindfirstfile", mais mon but est justement de ne pas utilisé ca :P
Pour divers raison,
- pour voir de 1 lequel est le plus rapide
- parceque j'aime réinventer la roue? :O

Merci Iste, je test et je vous dit quoi ^^

Merci Bien Iste, cela me convient parfaitement !!!
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [R] Pattern basique ?

#5

Message par sksbir »

dir /a:-d /s /b

Ceci donne la liste des fichiers uniquement, mais de façon récursive.

A partir de là, chaque fichier est forcément stocké dans un répertoire, on peut donc obtenir la liste des répertoires par déduction sans passer une 2eme commande "dir"...
(tant qu'à faire à réinventer, autant que ça soit stimulant :lol: )
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [R] Pattern basique ?

#6

Message par PandiPanda »

haha en effet :P
j'y prend note, actuellement mon script est fini donc je me "stimulerai" plus tard :P si le script me convient pas ...
Et actuellement me fait battre à plate couture par "_RecFileListToArray()" ^.^ (mon script va ~10x plus lentement)
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Répondre