Gambas France BETA


Pas de compte ? Incription

[Résolu] Transfert d'éléments d'un répertoire à un autre

Ce sujet est résolu.

1
AuteurMessages
Foromus#1 Posté le 28/11/2010 à 20:51:00
Je coince là dessus depuis deux bonnes heures.... Voilà, j'ai un Répertoire1 avec, dedans, des fichiers : Fichier01.jpg, Fichier02.jpg, Fichier03.jpg, etc. J'ai besoin de compter, d'afficher ces fichiers (ça, je sais faire, en me servant d'une listbox. Ensuite j'ai exactement la même chose, avec le Répertoire2, 3, etc. Bien. Une fois le répertoire choisi ( le 1 ou le 2, 3, etc), j'ai besoin de copier / coller le contenu de ce répertoire choisi (il est donc dans la listbox), dans un RépertoireDestination. J'ai essayé à partir de la listbox, j'ai essayé avec Copy, ça me donne systématiquement une erreur, complètement bloqué mon truc. Auriez-vous la formule magique, que je pourrais recopier bêtement (enfin, en essayant de comprendre un peu quand même), de manière à ce que je m'en sorte ? Merci beaucoup !
LanoueC#2 Posté le 28/11/2010 à 21:59:00
Salut

Je sais pas si j'ai bien compris ce que tu as écris mais :
écrire dans une liste box le contenu d'un répertoire
copier le contenu d'un répertoire vers un autre
compter les fichiers

1
DIM chemin1 AS STRING Repertoire1dim chemin2 AS STRING 'Repertoire2dim cheminD as string 'Repertoire destinationdim filename as stringdim compteur as integer 'compteur de fichiers' Ajout dans listBox For Each fileName In Dir(chemin1, "*.Jpeg") ListBox1.Add(fileName) inc compteur Nextcompteur= 0 For Each fileName In Dir(chemin2, "*.Jpeg") ListBox1.Add(fileName) inc compteur Next'copier les fichiers du Repertoire2 dans le répertoire Destinationcopy chemin2 &/ fileName To cheminD &/ fileName


a plus
LanoueC
Foromus#3 Posté le 28/11/2010 à 22:13:00
Bonsoir, Pas de problème pour la listbox et le comptage, comme j'ai dit, ça, je sais faire. Par contre, c'est juste le transfert des fichiers d'un répertoire à l'autre qui me pose soucis. Je pense que je vais essayer de mettre la commande Copy à l'intérieur d'une boucle For Each. Mais je crois que je l'ai déjà fait pourtant. En tous les cas, je vais voir ça demain ! Merci pour l'info.
gambix#4 Posté le 29/11/2010 à 15:49:00
Faire simple !regarde si tu a les droit en ecriture sur le dossier cible

dit moi dans quels repertoire exactement ils sont tes fichier ?

Dir(chemin2, "*.Jpeg").count
Moins de texte dans une signature c'est agrandir son espace.
Foromus#5 Posté le 29/11/2010 à 16:10:00
A force de chercher, j'ai trouvé, en utilisant la formule ci-dessus : copy chemin2 &/ fileName To cheminD &/ fileName . Pourtant, j'avais déjà fait des choses avec ça, mais ça n'avait pas fonctionné. En réalité, c'est assez tordu, car ça ne fonctionne que SI le répertoire de destination existe. Ce qui oblige donc à faire les manip suivantes : 1- vérifier que ce répertoire de destination existe, 2- le vider, si il comporte des fichiers, 3- le remplir avec le code ci-dessus. 4- mais d'abord le créer, si il n'existe pas. Une fois tout ça bien rangé dans l'ordre, ça marche (désolé de ne pas montrer mon code, mais mon navigateur refuse d'écrire correctement sur ce forum - il écrit normalement et correctement sur les autres, sauf ceux encore pas vus ! ). Un grand merci pour cette aide !
gambix#6 Posté le 29/11/2010 à 18:21:00
Faire simple !sinon tu peu faire appel au programmes console

cp file1 file2


exec["cp","file1","file2"]

et la tu fait ce que tu veux :)

Moins de texte dans une signature c'est agrandir son espace.
1