Copiez un grand nombre de fichiers mais excluez certains sous-dossiers sous Windows


14

Je souhaite sauvegarder mon dossier de travail qui est principalement contenu dans une structure de dossiers telle que:

www
    - project 1
        - assets
        - node_modules
    - project 1
        - assets
        - node_modules
    - project 1
        - assets
        - node_modules

J'ai besoin de copier tous les projets mais d'exclure le dossier node_modules dans chaque projet. Existe-t-il un moyen facile de le faire en vrac? Comme j'ai beaucoup de projets à réaliser.

Fonctionnant sur Windows 8.1


Regardez cette question: superuser.com/questions/359031/… . Dans la question elle-même est votre réponse.
angus

Réponses:


12

Je dois copier tous les projets mais exclure le dossier node_modules

Vous pouvez utiliser xcopyavec l' excludeoption:

xcopy www backup /exclude:except.txt
  • except.txt contient la liste des fichiers des répertoires à exclure.

except.txt:

node_modules

/EXCLUDE:file1[+file2][+file3]...

  • Les fichiers peuvent chacun contenir un ou plusieurs chemins d'accès complets ou partiels à exclure.
  • Lorsque l'un de ces éléments correspond à une partie du chemin absolu d'un fichier SOURCE, ce fichier est exclu.
  • Par exemple, la spécification d'une chaîne comme \obj\ou .objexclura tous les fichiers sous le répertoire objou tous les fichiers avec l' .objextension respectivement.

Source xcopy - Copiez les fichiers et / ou les arborescences de répertoires dans un autre dossier.


Lectures complémentaires


Génial, merci je vais essayer. J'ai également trouvé ceci: robocopy SOURCE DESTINATION /mir /xd FOLDER_TO_EXCLUDE- Je suppose que cela pourrait aussi fonctionner?
Doidgey

Plutôt probable. Je ne connais pas la photocopie cependant: / N'oubliez pas d'accepter ma réponse;)
DavidPostill

Donnez robocopyun essai - il a été conçu pour supporter les mêmes options de commande que , xcopymais dispose d' un grand nombre d'améliorations - à long support de chemin, mise en mémoire tampon, unicode, elle conserve horodatages etc. , etc. Robocopyfait partie de Windows depuis Vista, installable sur XP.
user1016274

Cette commande n'a copié aucun sous-dossier de ma source, seulement des fichiers dans ce dossier.
Qwerty

@DavidPostill Dois-je sérieusement mettre les répertoires que je veux exclure dans un fichier texte, puis référencer ce fichier texte dans la commande? Puis-je simplement lui dire directement quels répertoires je souhaite exclure? Je suppose que robocopyc'est mieux.
Shayan

9

Merci à @DavidPostill pour sa réponse. Cela a fonctionné un régal. J'ai cependant réussi à faire fonctionner la robocopie. Pour ceux que cela pourrait aider, la commande était:

robocopy SOURCE DEST /mir /xd node_modules

La source étant le dossier à copier et dest étant la destination. Et juste à la fin, j'ai node_modules comme dossier que je veux exclure.


3
Bon vieux robocopy /mir. Commutateur très puissant qui peut faire beaucoup de bien, mais sachez simplement ce que fait ce commutateur avant de l'utiliser. Il synchronisera deux répertoires, y compris la suppression d'éléments s'ils n'existent pas dans le répertoire source.
Adam Plocher

Merci beaucoup! Cela fonctionne très bien pour synchroniser mon dossier Documents avec Dropbox, mais en excluant les dossiers node_modules car ils occupent tellement d'espace
Ben Gubler

1
@AdamPlocher Votre commentaire m'a sauvé de la perte de données. J'ai utilisé robocopy comme substitut pour déplacer des dossiers, je ne me suis pas rendu compte que cela supprimerait les fichiers du dossier cible. Heureusement, j'ai pu récupérer une sauvegarde d'il y a 4 jours, alors merci.
Hay
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.