[R] Problème copie de données

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
bahamut789
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mar. 14 déc. 2010 14:21
Status : Hors ligne

[R] Problème copie de données

#1

Message par bahamut789 »

Bonjour,

J'ai commencer à utiliser Autoit pour réaliser quelques scripts qui ont marcher jusqu'à maintenant.
(je suis donc débutant)

Voici mon problème , je dois copier des données d'un emplacement à un autre.

Mon problème est que je voudrais avoir un outils de configuration, je m'explique je voudrais pouvoir changer l'emplacement-destination sans toucher au code source d'autoit.

J'ai donc pensée à utiliser le bloc-notes pour changer ces valeurs avec un fichier texte source et un autre fichier texte destination, sachant que je voudrais avoir plusieurs dossiers cible dans le fichier texte(source destination) séparée par virgule ,tabulation ou autre.

Mais j'ai rencontrée deux problèmes:

1-Les données ne se copient pas
2-Je ne suis pas sur que si je met plusieurs dossiers dans le fichier texte source les dossiers cible soit tous reconnue

Voici mon code:
► Afficher le texte
Modifié en dernier par bahamut789 le mer. 15 déc. 2010 11:42, modifié 1 fois.
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Problème copie de données

#2

Message par bloodwolff »

Voilà j'ai fais un code simple et commenté , j'espère qu'il t'aidera

Code : Tout sélectionner

#NoTrayIcon
#Include <File.au3> ;~On inclu l'udf de la fonction _filecountlines

$Ligne_1 = _FileCountLines("C:\1.txt") ;~On compte les lignes du premier fichier
$Ligne_2 = _FileCountLines("C:\2.txt") ;~On compte les lignes du second
If $Ligne_1 <> $Ligne_2 Or $Ligne_1 < 1 Then ;~Si ils n'ont pas le même nombres de lignes ou qu'ils ont moins de 1 ligne
    MsgBox(16,"Erreur", "Il n'y a pas le même nombre de sources que de destinations") ;~On affiche une Boîte de dialogue d'erreur
    Exit ;~Et on quitte le script
EndIf

$open_1 = FileOpen("C:\1.txt") ;~On ouvre les fichiers en mode lectures
$open_2 = FileOpen("C:\2.txt")

For $i=1 To $Ligne_1 ;~On lance une boucle qui se lance autant de fois qu'il y a de ligne
    $source = FileReadLine($open_1, $i) ;~On lit la ligne $i
    $destination = FileReadLine($open_2, $i)
    If not DirCopy($source,$destination) Then ;~On copie le dossier et si il y à un erreur
        Switch MsgBox(22, "Erreur", "Impossible de copier le dossier" & @CRLF & $source) ;~On affiche une boîte de dialogue d'erreur et on attend la réponse
            Case 2 ;~Si la réponse est cancel
                ExitLoop ;~On quitte la boucle
            Case 10 ;~Si la réponse est réessayer
                $i -= 1 ;~On recule le compteur de 1
        EndSwitch
    EndIf
Next

FileClose($open_1);~On ferme les fichiers pour libérer la mémoire
FileClose($open_2)
Compte skype : bloodwolfff
bahamut789
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mar. 14 déc. 2010 14:21
Status : Hors ligne

Re: [..] Problème copie de données

#3

Message par bahamut789 »

Merci c'est parfait :D

J'ai juste modifier une ligne car les données n'étaient pas copier si un ou plusieurs fichiers existaient déjà.

Code : Tout sélectionner

If not Dircopy($source,$destination,1) Then ;~On copie le dossier et si il y à un erreur
J'ai rajouter un "1" après destination


Merci pour ton aide très précieuse coninu comme ça

Cordialement,
Répondre