Je voudrais un script batch sous Windows avec lequel je peux copier un répertoire dans un autre. Si ce répertoire existe déjà, et pour chaque fichier existant dans les deux avec le même nom et le même emplacement, il devrait être remplacé, s'il n'existe pas, il devrait simplement être ajouté.
En fin de compte, il devrait s'agir d'un script batch auquel je peux transmettre 2 arguments, source et destination.
Faites ceci dans votre fichier batch
set source=C:\Users\Habib\test
set destination=C:\Users\Habib\testdest\
xcopy %source% %destination% /y
Si vous voulez copier les sous-répertoires y compris les répertoires vides , alors:
xcopy %source% %destination% /E /y
Si vous souhaitez uniquement copier des sous-répertoires et non des répertoires vides, utilisez /s
comme:
xcopy %source% %destination% /s /y
Il semble que la dernière fonction pour cela dans Windows 7 soit Robocopy.
Exemple d'utilisation:
robocopy <source> <destination> /e /xf <file to exclude> <another file>
/ e copie les sous-répertoires, y compris les vides,/xf exclut la copie de certains fichiers.
Plus d'options ici: http://technet.Microsoft.com/en-us/library/cc733145(v=ws.10).aspx
Avez-vous envisagé d'utiliser la commande "xcopy"?
La commande xcopy fera tout cela pour vous.
Essaye ça:
xcopy %1 %2 /y /e
%1
et %2
sont les arguments de source et de destination que vous transmettez au fichier de commandes. i.e. C:\MyBatchFile.bat C:\CopyMe D:\ToHere
Il suffit d'utiliser xcopy /y source destination