copier fichiers dans plusieurs dossiers ? Question piège !!!!

copier fichiers dans plusieurs dossiers ? Question piège !!!! - Win NT/2K/XP - Windows & Software

Marsh Posté le 04-09-2004 à 17:04:28    

salut à tous,
 
je souhaite copier plusieurs petits fichiers ( 4) dans plusieurs dossiers en m^me temps !
je voudrai pas avoir a faire copier/coller des dizaines de fois a la suite
comment faire ?
http://img85.exs.cx/img85/9866/Snap5.jpg


Message édité par fatjimo le 04-09-2004 à 19:23:55
Reply

Marsh Posté le 04-09-2004 à 17:04:28   

Reply

Marsh Posté le 04-09-2004 à 18:30:00    

un batch !

Reply

Marsh Posté le 04-09-2004 à 18:58:24    

un batch ?

Reply

Marsh Posté le 04-09-2004 à 19:00:38    

ok laisses tomber je vais passr plus de temps a creer le dat qu'a faire copier coller dans mes 500 fichiers !
 
Une autre idée ?

Reply

Marsh Posté le 04-09-2004 à 19:23:34    

Alors la question piege !!!! Personne ??

Reply

Marsh Posté le 05-09-2004 à 12:22:57    

up

Reply

Marsh Posté le 06-09-2004 à 23:55:40    

up

Reply

Marsh Posté le 06-09-2004 à 23:56:43    

fatjimo a écrit :

ok laisses tomber je vais passr plus de temps a creer le dat qu'a faire copier coller dans mes 500 fichiers !
 
Une autre idée ?


 
Ben en batch, c'est pas compliqué :p
En 2 lignes ca tient :p

Reply

Marsh Posté le 07-09-2004 à 07:23:46    

Un script...
 
Perso je préfère utiliser File System Object (FSO) qu'un batch, la vitesse d'exécution est plus rapide.
 
 
Voici un script que j'avais fait pour intialiser les dossiers des élèves (nommés 01, 02, ...) avec le contenu du dossier du prof (nommé "Source" ) d'une salle de cours informatique, il est un peu particulier car il créé la structure sous "My Documents", mais donne une idée sur comment s'y prendre :
 

' Efface les fichiers dans les répértoires destinations et  
' copie les fichiers situés dans Source dans les répertoires
' destinations
On Error Resume Next
 
' Défini quelques variables
strSourceDir = "Source"
aryDestDirs  = Array(                                                          _
                     "01"                                                    , _
                     "02"                                                    , _
                     "03"                                                    , _
                     "04"                                                    , _
                     "05"                                                    , _
                     "06"                                                    , _
                     "07"                                                    , _
                     "08"                                                    , _
                     "09"                                                    , _
                     "10"                                                    , _
                     "11"                                                    , _
                     "12"                                                      _
                    )
 
' Affiche un message
MsgBox "Les répertoires vont être initialisés"
 
Set objFSO = CreateObject("Scripting.FileSystemObject" )
Set objCurrentFolder = objFSO.GetFolder("." )
' détermine la longueur du chemin
intLength = Len(objCurrentFolder.Path) - Len(objCurrentFolder.Name)
' extrait le chemin de base
strBasePath = Left(objCurrentFolder.Path , intLength)
                     
' Efface les fichiers dans les répertoires de destination
For i = LBound(aryDestDirs) To Ubound(aryDestDirs)
   Set objAuxFolder = objFSO.GetFolder(strBasePath & aryDestDirs(i))
   ' Boucle sur les sous répertoires
   For Each Item In objAuxFolder.SubFolders
      objFSO.DeleteFile Item.Path & "\*.*", True
      ' Traite le cas des dossiers My Picture et My Music
      strName = Trim(LCase(CStr(Item.Name)))
      If InStr(strName, "my picture" ) = 0 AND _
         InStr(strName, "my music" ) = 0 Then
         objFSO.DeleteFolder Item.Path, True
      Else
         Set objMyFolder = objFSO.GetFolder(Item.Path)
         For Each MySF In objMyFolder.SubFolders
            objFSO.DeleteFolder MySF.Path, True
         Next
         Set objMyFolder = Nothing
      End If
   Next
   objFSO.DeleteFile objAuxFolder.Path & "\*.*", True
   Set objAuxFolder = Nothing
Next
 
' Copie les fichiers du répertoire source vers la destination
For i = LBound(aryDestDirs) To Ubound(aryDestDirs)
   objFSO.CopyFolder strBasePath & "Source", strBasePath & aryDestDirs(i), True
Next
 
' Efface les fichiers init.vbs dans les répertoires de destination
For i = LBound(aryDestDirs) To Ubound(aryDestDirs)
   Set objAuxFolder = objFSO.GetFolder(strBasePath & aryDestDirs(i))
   objFSO.DeleteFile objAuxFolder.Path & "\init.vbs", True
   objFSO.DeleteFile objAuxFolder.Path & "\delete.vbs", True
   Set objAuxFolder = Nothing
Next
 
' Libère la mémoire
Set objCurrentFolder = Nothing
Set objFSO = Nothing
 
' Affiche un message de confirmation
MsgBOX "Les dossiers ont été initialisés avec le contenu du dossier source"


Reply

Marsh Posté le 09-09-2004 à 18:57:30    

Ben en batch, c'est pas compliqué  
En 2 lignes ca tient  
 
 
en 2 lignes ??????

Reply

Marsh Posté le 09-09-2004 à 18:57:30   

Reply

Marsh Posté le 09-09-2004 à 19:04:54    

X-copy 2000 permet cette opération et bien plus encore
a+

Reply

Marsh Posté le 09-09-2004 à 19:48:01    

fatjimo a écrit :

Ben en batch, c'est pas compliqué  
En 2 lignes ca tient  
 
 
en 2 lignes ??????


 
je dis mieux ! en une ligne  ! :kaola:  
 

Code :
  1. filecopy [source] [destination]

 
 
et sa fonctionne trés bien ! depuis le temps que tu demandes tu auras déjà copier tous tes fichiers !  [:ddr555]

Reply

Marsh Posté le 09-09-2004 à 20:06:58    

fatjimo a écrit :

Ben en batch, c'est pas compliqué  
En 2 lignes ca tient  
 
 
en 2 lignes ??????


 
Ben oui...
un truc du genre

FOR %rep IN (*) DO copy fichier1 fichier2 %rep


 
 
à voir hein, écrit à l'arrache :whistle: !
Mais ca doit marcher;)


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Sujets relatifs:

Leave a Replay

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