batch / bat pour copier le dossier et le contenu à la fois

j'écris un script batch qui fait une copie. Je veux le script à copier un dossier entier. Quand je veux copier un seul fichier, je le fais

copy %~dp0file.txt file.txt 

si j'ai un dossier avec cette structure, est-ce qu'il y a une commande pour copier ce dossier entier avec son contenu tout d'un coup tout en conservant la structure exacte.

mainfolder/
  file1.txt
  file2.txt
  insidefolder/
     file3.txt
     file4.txt 
     file5.txt
24
demandé sur Marco Demaio 2011-02-21 08:04:15

4 réponses

si vous avez xcopy, vous pouvez utiliser le /E param, qui va copier des répertoires et des sous-répertoires et les fichiers qu'ils contiennent, y compris en maintenant la structure des répertoires pour les répertoires vides

xcopy [source] [destination] /E
46
répondu akf 2011-02-21 05:17:01

je soupçonne que l' xcopy le commandement est la Balle magique que vous recherchez.

il peut copier des fichiers, des répertoires et même des disques entiers tout en préservant la hiérarchie des répertoires d'origine. Il y a également une poignée d'options supplémentaires disponibles, par rapport à la base copy la commande.

découvrez le documentation ici.

si votre fichier batch ne doit s'exécuter que sur Windows Vista ou plus tard, vous pouvez utiliser robocopy au lieu de cela, qui est un outil encore plus efficace que xcopy, et est maintenant intégré dans le système d'exploitation. Sa documentation est disponible ici.

5
répondu Cody Gray 2011-02-21 05:17:40

à L'ancienne:

xcopy [source] [destination] /E

xcopie deprecated. La robocopie remplace la Xcopie. Il est livré avec Windows 8, 8.1 et 10.

robocopy [source] [destination] /E

robocopy a plusieurs avantages:

  • copier des chemins dépassant 259 caractères
  • multithread copie

Plus de détails ici.

4
répondu Vertexwahn 2017-02-06 14:50:41

Pour Copier le Dossier, Vous pouvez Utiliser

robocopy C:\Source D:\Destination /E

Pour Copie De Fichier

copy D:\Sourcefile.txt D:\backup\Destinationfile.txt /Y 

Supprimer le fichier dans un dossier de la dernière modifier ce jour, plus d'un jour

forfiles -p "D:\FolderPath" -s -m *.[Filetype eg-->.txt] -d -[Numberof dates] -c "cmd /c del @PATH"

Et vous pouvez Shedule tâche dans windows effectuer cette tâche automatiquement en temps spécifique.

0
répondu Gayan Chinthaka Dharmarathna 2017-03-23 03:16:17