script pour copier des sous répertoire...

script pour copier des sous répertoire... - Windows & Software

Marsh Posté le 08-06-2005 à 17:25:53    

Bonjour à tous,
 
Voila, j'ai un léger problème, je dois faire des copies de plusieurs centaines de répertoires qui ont tous le meme noms. cependant ces répertoires sont des sous répertoires des users.
 
exemple
c:\gilbert\répertoire
c:\jacky\répertoire
 
sachant bien entendu que les répertoires (gilbert et jacky ici) ont d'autres sous-répertoires auquels je ne dois pas toucher du tout.
 
J'ai essayer des scripts batch et par "robocopy", mais ca marche pas.. (ca prend pas les "*" par exemple .et j'ai pas trop envie de me faire une ligne par user (ca risque d'etre hyper long et peu efficace) Sad
 
voila,
si qq'un avait une idée, ca m'aiderais vraiment beaucoup  :hello:  
Merci d'avance
Phoenix

Reply

Marsh Posté le 08-06-2005 à 17:25:53   

Reply

Marsh Posté le 08-06-2005 à 17:29:31    

un fichier bat en utilisant xcopy en mode commande. (Demarrer/Executer; cmd)

Reply

Marsh Posté le 08-06-2005 à 17:34:07    

Comme j'ai deja conseillé aujourd'hui, regarde avec autoIT. Tu peux faire un script avec une fenetre qui demande le nom du repertoire a copier.
 
Ci-joint un script que j'ai ecrit qui regarde le nom de tous les sous-repertoires dans un repertoire, propose a l'utilisateur de choisir l'un d'eux ou tous dans une combo box puis effectue le transfert.
 
Je precise que j'ai mis seulement 2 jours a apprendre a faire ce genre de script, parce le fichier d'aide est tres bien foutu et que le forum d'aide (http://www.hiddensoft.com) est actif avec des gens calés.
 

Code :
  1. ;******************************************************************
  2. ;
  3. ;      Récupération des fichiers sur D: dans l'espace perso
  4. ;
  5. ;******************************************************************
  6. #include <GUIConstants.au3>
  7. DirCreate("n:\Soft" )
  8. GUICreate ( "Transfert de fichiers", 410, 120)
  9. $search = FileFindFirstFile ( "D:\" & @UserName & "\*.*" )
  10. $softlist = ""
  11. If ($search = -1) Then
  12.     MsgBox(0, "Erreur", "Aucun fichier a copier" )
  13.     Exit
  14. EndIf
  15. While (1)
  16.     $tmpSoft = FileFindNextFile($search)
  17.     If (@error) Then
  18. ExitLoop
  19.     EndIf
  20.     If ( ($tmpSoft <> "." ) AND ($tmpSoft <> ".." ) ) Then
  21.      $softList = $softList & "|" & $tmpSoft
  22.     EndIf
  23. WEnd
  24. If ( $softList = "" ) Then
  25.     MsgBox(0, "Erreur", "Aucun fichier a copier" )
  26.     Exit
  27. EndIf
  28. $softList = $softList & "|Tous"
  29. FileCLose($search)
  30. $combo = GUICtrlCreateCombo ( " ", 60, 70, -1, -1,$CBS_DROPDOWNLIST)
  31. GUICtrlSetData(-1,$softList)
  32. GUICtrlCreateLabel ( "Transfert depuis D: dans l'espace perso sur N:", 60, 15);
  33. GUICtrlCreateLabel ( "Choisissez le programme", 60, 47);
  34. $transfButton = GUICtrlCreateButton ("Transférer",  300, 50, 80)
  35. $cancelButton = GUICtrlCreateButton ("Annuler",  300, 80, 80)
  36. GUISetState(@SW_SHOW)
  37. While (1)
  38. $msg = GUIGetMsg()
  39. Select
  40. Case ( ($msg = $GUI_EVENT_CLOSE) Or ($msg = $cancelButton) )
  41.  ExitLoop
  42. Case ($msg = $transfButton)
  43.  $prog = GUICtrlRead ( $combo )
  44.  If ($prog <> " " ) Then
  45.   If ($prog = "Tous" ) Then
  46.    RunWait(@COMSPEC & " /c " & "XCOPY d:\" & @UserName & " n:\soft\ /D /E /Y" )
  47.    MsgBox(0, "Transfert terminé", "Tous les fichiers ont été copiés" )
  48.   Else
  49.    RunWait(@COMSPEC & " /c " & "XCOPY d:\" & @UserName & "\" & $prog & " n:\soft\" & $prog &" /D /E /Y" )
  50.    MsgBox(0, "Transfert terminé", "Transfert des fichiers de " & $prog & " terminé" )
  51.   EndIf
  52.  EndIf
  53. EndSelect
  54. Wend


Message édité par 2FR le 08-06-2005 à 17:41:34
Reply

Marsh Posté le 08-06-2005 à 17:39:31    

Bonjour, merci de ta réponse,
mais moi, je veux bien, mais comment tu fais pour que seul ce sous-dossier de TOUS les users soit copié ?
xcopy x:\users\*\répertoire x:\copie\* ? (ca marche pas d'ailleurs)
 
sachant qu'en plus, il me faut les login des users dans le répertoire de destination (car sur plusieurs centaines de users, il faudrait que l'on puisse s'y retrouver :-p

Reply

Marsh Posté le 08-06-2005 à 17:40:16    

Ho! Pétard. T'as pêché ça ou? :ouch:  
Faudra que j'essaie. :jap:

Reply

Marsh Posté le 08-06-2005 à 17:40:25    

Merci pour ta réponse, je vais regarder ca :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed