Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[EN COURS] JVS Cops
Auteur Message
Répondre en citant
Message [EN COURS] JVS Cops 
Salut à tous,

Voilà je travaille sur un petit prog' qui me permettrait de sauvegarder les données d'un répertoire qui contient des sous-repertoires.

Deux difficultés se posent à moi :

- Lors de la copie j'ai utilisé FileCopy et je ne vois pas comment inclure les sous-repertoire
- J'aimerais que l'on puisse donné l'endroit de copie en allant le chercher avec la souris (comme quand on installe un prog)

Pour le dernier problème, je vois pas dans le Koda comment faire le bouton avec les 3 petits points.

J'ai donc ceci comme code pour le moment :

Code:
; interface graphique
#Region ### START Koda GUI section ### Form=C:\Users\Sydneysyd\Desktop\CODAFORM.kxf
Global $Form1 = GUICreate("Form1", 604, 137, 186, 250)
Global $Soc= GUICtrlCreateLabel("Societe", 16, 8, 124, 28)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
Global $Progress1 = GUICtrlCreateProgress(8, 104, 585, 17)
Global $Start = GUICtrlCreateButton("Démarrer la copie", 208, 48, 177, 33)
Global $Label1 = GUICtrlCreateLabel("CODABBOL", 244, 7, 107, 28)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

; boucle de l'interface
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
      Case $GUI_EVENT_CLOSE
            Exit

;fonction de copie lorsque l'on clic sur le bouton Start
Case $Start
FileCopy ("C:\Program Files\PC SOFT\Serveur HyperFileSQL\BDD", "F:\", 1)

 EndSwitch
WEnd


C'est pas grand chose, et je suis un peu rouillé...

Merci d'avance pour votre aide



Dernière édition par Sydney le Mar 30 Oct 2012 - 09:42; édité 1 fois

______________________________________________________
-Il n'y a qu'en affrontant les plus forts que l'on progresse-

Visiter le site web du posteur
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [EN COURS] JVS Cops 
Salut,

Sydney a écrit:
- Lors de la copie j'ai utilisé FileCopy et je ne vois pas comment inclure les sous-repertoire
- J'aimerais que l'on puisse donné l'endroit de copie en allant le chercher avec la souris (comme quand on installe un prog)


pour la copie avec sous-répertoire, je vais te donner une fonction que j'ai créé pour pouvoir effectuer des actions dans une arborescence de dossier:

Code:

Func _arbo1($path, $filtre = "*"); $path = dossier à traiter
   Local $search = FileFindFirstFile($path & "\" & $filtre)
   If $search = -1 Then Return False
   While 1
      Local $file = FileFindNextFile($search)
      If @error Then ExitLoop
      $fi = $path & "\" & $file
      If StringInStr(FileGetAttrib($fi),"D") Then
         _arbo1($fi)
      Else
         ;Action à effectuer sur chaque fichier
         ConsoleWrite($fi&@CRLF)
      EndIf
   WEnd
   FileClose($search)
EndFunc   ;==>_arbo1

pour la récupération du chemin via l'interface de l'explorateur windows, regarde du coté de la commande "fileopendialog"




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message [EN COURS] JVS Cops 
Merci pour cette reponse et ce bout de code, c'est super

Par contre, il est possible que tu puisse m'expliquer ligne par ligne le code, car j'aime bien comprendre ce que je met ^^

Sinon, je le remplace du FileCopy ?

Parce que je vois pas comment l'adapter au filecopy par la suite...

Merci en tout cas




______________________________________________________
-Il n'y a qu'en affrontant les plus forts que l'on progresse-

Visiter le site web du posteur
Répondre en citant
Message [EN COURS] JVS Cops 
je ne peut pas faire beaucoup plus simple^^

-> tu intègre la fonction _arbo1 dans ton script, tu l’appelle en faisant _arbo1("c:\ton dossier") et enfin tu remplace ' ;Action à effectuer sur chaque fichier ' par ce que tu souhaite faire, apparemment un filecopy.




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message [EN COURS] JVS Cops 
Merci j'avais pas percuté sur le ;action a effectuer sur chaque fichier ^^

je teste et je fais un retour (mais là je dois donner le bibi à ma fille lol)




______________________________________________________
-Il n'y a qu'en affrontant les plus forts que l'on progresse-

Visiter le site web du posteur
Répondre en citant
Message [EN COURS] JVS Cops 
Au passage ta demande me fait penser que j'ai eu dans mes début d'autoit un projet similaire -> http://batch.xoo.it/t2445-j-ai-pleins-de-problemes-a-resoudre.htm?q=

Au cas ou Okay




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message [EN COURS] JVS Cops 
Effectivement il y a des élements qui peuvent me servir ^^
Merci pour ce lien

Je viens te tester mon app et ca fonctionne pas, mais je pense que je n'ai pas initialiser mes variables, ca doit venir de là...

Y'a encore du boulot, car je veux le faire évoluer ensuite en fonction de l'OS utilisé (je voudrais qu'il y ait une recherche automatique du dossier à copier, car selon l'OS, il se situe pas au meme endroit)




______________________________________________________
-Il n'y a qu'en affrontant les plus forts que l'on progresse-

Visiter le site web du posteur
Répondre en citant
Message [EN COURS] JVS Cops 
Re, j'ai beaucoup de mal à comprendre le script de progression de copie, est-il possible que quelqu'un puisse m'indiquer les lignes ?
Désolé mais je suis vraiment rouillé !




______________________________________________________
-Il n'y a qu'en affrontant les plus forts que l'on progresse-

Visiter le site web du posteur
Répondre en citant
Message [EN COURS] JVS Cops 
Bon j'avance à tatons dans le prog

Voici la fonction de copie des repertoires et sous repertoires, mais je voudrais pouvoir faire en sorte qu'une recherche du dossier demandé s'affiche, et que cela corresponde bien lors de la copie.

Code:
$lecteur = InputBox("JVS Cops", "Lettre de lecteur ")
$dossier1 = InputBox("JVS Cops", "Nom du dossier ")
$dossier = $dossier1
$date = @MON & "-" & @MDAY & "-" & @YEAR & " " & @HOUR & "h" & @MIN & "m" & @SEC & "s"
$destination = $lecteur & "\" & $dossier & "\" & $date

If NOT FileExists($destination) Then DirCreate($destination)
_FileCopy($lecteur,$destination)
ShellExecute($destination)

Func _FileCopy($source, $dest)
    $winShell = ObjCreate("shell.application")
    $winShell.namespace($dest).CopyHere($source,256)  ; 256 = affiche la progressbar de windows
EndFunc





______________________________________________________
-Il n'y a qu'en affrontant les plus forts que l'on progresse-

Visiter le site web du posteur
Message [EN COURS] JVS Cops 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch