[R] Problème de copie de fichier distant avec filtre

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Blackader
Niveau 1
Niveau 1
Messages : 4
Enregistré le : lun. 21 mars 2011 17:24
Status : Hors ligne

[R] Problème de copie de fichier distant avec filtre

#1

Message par Blackader »

Bonjour, comme je l'ai dit lors de ma présentation je fais appel à vos connaissances.

Voici mon problème, je cherche à faire une copie de fichiers qui se trouve sur un Pc dans un réseau local. Les documents sont des scannes au format jpg tous dénommés comme ceci 1110329F4001 (le premier 1 est récurant à tous les fichiers, le 11 est l'année, le 03 le mois, le 29 le jour, le F la lettre dossier, et le 4001 est le numéro de dossier).

Par le biais de la fonction _RecFileListToArray et avec un filtrage du style 11102 & "*.jpg" : j'obtiens un array avec tous les scans du mois de février.

Là où l'affaire se corse c'est pour la copie de tout les fichiers listés dans le tableau, il ne passe rien, mon dossier de destination reste résolument vide.
► Afficher le texte
Modifié en dernier par Blackader le jeu. 31 mars 2011 08:37, modifié 1 fois.
Avatar du membre
legend
Niveau 7
Niveau 7
Messages : 472
Enregistré le : dim. 26 sept. 2010 12:55
Status : Hors ligne

Re: [..] Problème de copie de fichier distant avec filtre

#2

Message par legend »

Bonjour,
je suis pas sur mais je crois que le probléme est soit dans le chemin des dossiers.
tu dois ajouter un "\" aprés chaqun
exemple :
fileselectfolder donne ça : "C://dossier_x"
toi tu a fait "C://dossier_x" & "fichier.jpg"
ce qui donne "C://dossier_xfichier.jpg"
=>>>> erreur syntaxe =>> "C://dossier_x/fichier.jpg" (version correcte)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Problème de copie de fichier distant avec filtre

#3

Message par Tlem »

@Blackader
Pensez à utiliser les balises de code (je viens de le faire pour vous).

Pour votre problème, c'est que la fonction _RecFileListToArray ne vous renvoie que le nom des fichiers/dossiers.
Or pour la fonction de copie, il vous faut le chemin complet (avec l'antislash).

Donc :

Code : Tout sélectionner

$search=_RecFileListToArray($distant,$filtre&"*.jpg",0,True,1,"")
devrait être

Code : Tout sélectionner

$search=_RecFileListToArray($distant,$filtre&"*.jpg",0,True,1,2)
et

Code : Tout sélectionner

FileCopy($distant & $search[$i],$sauvegarde,1)
devrait être

Code : Tout sélectionner

FileCopy($search[$i],$sauvegarde,1)
Sinon, sans faire ces modifs, vous devriez faire ceci (c'est plus simple mais bon !!!) :

Code : Tout sélectionner

FileCopy($distant & "\" & $search[$i],$sauvegarde,1)
Par contre, attention, car dans votre code, la fonction FileCopy ne copiera que les fichiers !!! :mrgreen:
Sinon, il vous faut tester avant si c'est un fichier ou un dossier, et choisir entre FileCopy et DirCopy, mais dans ce cas, vous ferez des copies inutiles.
Le mieux, serait donc de modifier le flag $iReturn par 1 et de ne faire que la copie de fichier avec FileCopy mais en ajoutant le flag 8 ou 8+1. ;)
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é".
Blackader
Niveau 1
Niveau 1
Messages : 4
Enregistré le : lun. 21 mars 2011 17:24
Status : Hors ligne

Re: [..] Problème de copie de fichier distant avec filtre

#4

Message par Blackader »

@Legend et @Tlem :
Bien que je n'ai pas compris tout de suite la remarque de Legend, c'est devenu très clair avec les explications de Tlem

Un grand merci,
J'ai juste appliqué la petite modif que vous me citer en dernier (et qui apparemment ne vous convient guère).
Et cela fonctionne parfaitement.
Je vais maintenant faire la modification qui apparemment vous convient plus c'est à dire le 2 pour les options de chemin complet, et donc retirer de ce fait ma variable ($distant) dans le FileCopy.

Pour la différence entre FileCopy et DirCopy pas de soucis comme je l'ai dit c'est un seul dossier qui contient tout les fichiers dont je ne veux qu'une petite partie (parmi des milliers de fichiers).
Répondre