Page 1 sur 1

[R] Copier/Coller un dossier vers un autre .

Posté : sam. 17 mai 2014 19:14
par Popipipo
Bonjour,
J'ais essayé de créer un script , qui copie un dossier donné , à un emplacement quelconque (exemple : Disque local C: , clés USB F: , ect ...) . Et qui le colle vers un dossier donné aussi à un emplacement quelconque . Après beaucoup d'efforts en vain :( , j'ai décidé de demander de l'aide . :idea:


Merci
PS:(J'ais cherché si la question avait déjà été posée sur le forum , mais je n'ai pas trouvé de réponse à ma question :( .)
► Afficher le texte

Re: [..] Copier/Coller un dossier vers un autre .

Posté : sam. 17 mai 2014 19:54
par blacksoul305
Bonsoir et bienvenue,

je ne comprends pas tout à fait ton code, mais il y a déjà quelque chose qui me gêne en début de script.
En effet quand tu écris ça :

Code : Tout sélectionner

            $lire_dossier_emetteur = GUICtrlRead ( $entrerA )
            $lire_dossier_recepteur = GUICtrlRead ( $entrerB )

        Global $lire_dossier_emetteur
        Global $lire_dossier_recepteur
tu inverses un peu deux étapes. Pour faire propre on :
- déclare la variable avec son champ d'action : Global $lire_etc...
- on affecte une valeur à la variable : $lire_etc = "dossier"

Ensuite, pour tes tests répétitifs (qui ne sont pas forcément une bonne solution), tu devrais essayer les boucles. Tu fais une boucle qui traite tous les lecteurs possibles et si jamais le dossier est détecté, tu sors de la boucle.
Pareil pour ton dossier récepteur.

Après pour ma part, ces tests ne sont pas réellement utiles puisque à la fin tu cherches directement à savoir s'ils existent tout deux en écrivant :

Code : Tout sélectionner

 $test_fin_emetteur = FileExists ($lire_dossier_emetteur )
        $tesgt_fin_recepteur =  FileExists ($lire_dossier_recepteur
Enfin, je pense que si ton script ne marche pas c'est que dans tes tests, tu écris : " $lire_dossier_emetteur = $exist_dossier_emetteur_dans_I"

Au final, tes variables à la place de contenir les chemins de dossier, elles sont égales soit à 1 soit à 0.

Voici une proposition de code. J'ai essayé de garder tes idées, c'est à dire que l'on puisse voir de quel périphérique ça sort. Seulement j'ai utilisé des tableaux, qui sont très utiles.
► Afficher le texte

Re: [..] Copier/Coller un dossier vers un autre .

Posté : sam. 17 mai 2014 22:01
par parazitenew
Trop de line pour rien, si le but est juste de copier/coller des dossiers alors utilises ça:
► Afficher le texte
J'ai mis des commentaires au cas où, mais si t'arrives pas à comprendre mon code je te l'expliquerai. En fait le DirCopy ne prends que le contenu du dossier et non le dossier en entier, c'est pour celà que j'ai fais comme ça.

Re: [..] Copier/Coller un dossier vers un autre .

Posté : sam. 17 mai 2014 22:13
par blacksoul305
+1 pour le message plus haut.

FileSelectFolder() permet de gagner en nombres de lignes et puis c'est bien plus ergonomique, intuitif que copier/coller le nom du dossier. Maintenant, rien n'empêche de combiner les deux, ça marche aussi.

Re: [..] Copier/Coller un dossier vers un autre .

Posté : sam. 17 mai 2014 23:44
par parazitenew
Mon message était destiné à l'auteur, j'avais pas vu ton script en fait :mrgreen: du coup on a fait plus ou moins la même chose.

Re: [..] Copier/Coller un dossier vers un autre .

Posté : dim. 18 mai 2014 15:35
par Popipipo
Je vous remercie beaucoup pour votre aide, votre savoir et vos codes . Je comprends où étaient mes erreurs . Et comme partout , la simplicité requière une masse importante de connaissances .

Re: [..] Copier/Coller un dossier vers un autre .

Posté : dim. 18 mai 2014 16:10
par blacksoul305
Les connaissances viendront à force de programmer. Une fois que les bases sont là, il ne faut pas avoir peur de se frotter à de nouvelles choses. Tu devrais essayer de familiariser avec les boucles et les tableaux. Ce sont des bébêtes vachement utiles dans certains cas.

Si ton sujet est résolu, remplace la balise [..] par [R] en éditant ton premier message, merci ! Bon courage !