[R] FileCopy dans une boucle

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
aulus
Niveau 7
Niveau 7
Messages : 424
Enregistré le : lun. 25 mars 2013 19:38
Status : Hors ligne

[R] FileCopy dans une boucle

#1

Message par aulus »

Bonjour,

Ma fonction dont le code suit récupère le contenu d'un Edit ($monEdit) , chaque ligne affichant un nom de fichier et un nouveau nom, séparés par un point-virgule (;)
Elle met ce contenu en tableau (StringSplit($monEdit, Chr(13)).
Dans une boucle For... Next parcourant le tableau,
2 variables récupèrent les 2 noms de fichier par StringSplit($ligne, ";").
$fichierOrigine contient la première donnée (chemin et nom de fichier originel)
$fichierDestination contient la seconde donnée (chemin et nouveau nom)

Puis copie du fichier originel avec renommage dans un sous-dossier avec la fonction CopyFile.

Tout se passe bien pour la première ligne du tableau : le fichier se retrouve bien renommé dans le sous-dossier. Les fichiers suivants ne sont pas copiés. Je n'arrive pas à saisir pourquoi.
► Afficher le texte
Voyez-vous la raison de ce dysfonctionnement ?

Je vous remercie.
Modifié en dernier par aulus le ven. 03 oct. 2014 15:57, modifié 1 fois.
aulus
Niveau 7
Niveau 7
Messages : 424
Enregistré le : lun. 25 mars 2013 19:38
Status : Hors ligne

Re: [..] FileCopy dans une boucle

#2

Message par aulus »

Après une journée de tâtonnements, j'ai trouvé !
J'ai remplacé la ligne de code :
$monTableau = StringSplit($monEdit, Chr(13))
par :
$lectureListe = StringRegExpReplace($lectureListe, "\r\n|\r|\n", " ")
$monTableau = StringSplit($lectureListe, " ")

Ce sont ces satanés retours à la ligne qui me mettaient le bazar.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [R] FileCopy dans une boucle

#3

Message par orax »

Je pense qu'une seule étape devrait suffire.

Code : Tout sélectionner

$lectureListe = StringRegExpReplace($lectureListe, "\r\n|\r|\n", " ")
$monTableau = StringSplit($lectureListe, " ")
peut être remplacé par

Code : Tout sélectionner

$monTableau = StringRegExp($lectureListe, "\r\n|\r|\n", $STR_REGEXPARRAYGLOBALMATCH)
Et il faut ajouter #include <StringConstants.au3>
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
aulus
Niveau 7
Niveau 7
Messages : 424
Enregistré le : lun. 25 mars 2013 19:38
Status : Hors ligne

Re: [R] FileCopy dans une boucle

#4

Message par aulus »

Merci orax
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] FileCopy dans une boucle

#5

Message par mikell »

► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
aulus
Niveau 7
Niveau 7
Messages : 424
Enregistré le : lun. 25 mars 2013 19:38
Status : Hors ligne

Re: [R] FileCopy dans une boucle

#6

Message par aulus »

Merci Mickell... ces Regex m'étonneront toujours !
Répondre