Kopieren Sie eine große Anzahl von Dateien, schließen Sie jedoch bestimmte Unterordner unter Windows aus

14

Ich möchte meinen Arbeitsordner sichern, der hauptsächlich in einer Ordnerstruktur enthalten ist, wie z.

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

Ich muss alle Projekte kopieren, aber den Ordner node_modules in jedem Projekt ausschließen. Gibt es eine einfache Möglichkeit, dies in großen Mengen zu tun? Da habe ich große Mengen an Projekten zu durchlaufen.

Laufen unter Windows 8.1

Doidgey
quelle
Schauen Sie sich diese Frage an: superuser.com/questions/359031/… . In der Frage selbst ist Ihre Antwort.
Angus

Antworten:

12

Ich muss alle Projekte kopieren, aber den Ordner node_modules ausschließen

Sie können xcopyzusammen mit der excludeOption verwenden:

xcopy www backup /exclude:except.txt
  • except.txt enthält die Liste der Dateien der auszuschließenden Verzeichnisse.

Except.txt:

node_modules

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

  • Die Dateien können jeweils einen oder mehrere vollständige oder teilweise Pfadnamen enthalten, die ausgeschlossen werden sollen.
  • Wenn einer dieser Werte mit einem Teil des absoluten Pfads einer SOURCE-Datei übereinstimmt, wird diese Datei ausgeschlossen.
  • Wenn Sie beispielsweise eine Zeichenfolge wie \obj\oder .objangeben, werden alle Dateien unter dem Verzeichnis objoder alle Dateien mit der .objErweiterung ausgeschlossen.

Quell- xcopy - Kopieren Sie Dateien und / oder Verzeichnisbäume in einen anderen Ordner.


Weiterführende Literatur

DavidPostill
quelle
Super, danke, ich werde es versuchen. Ich fand auch folgendes: robocopy SOURCE DESTINATION /mir /xd FOLDER_TO_EXCLUDE- Ich nehme an, es könnte auch funktionieren?
Doidgey
Ziemlich wahrscheinlich. Ich kenne Robocopy allerdings nicht: / Bitte vergessen Sie nicht, meine Antwort zu akzeptieren;)
DavidPostill
Probieren Sie robocopyes aus - es wurde entwickelt, um die gleichen Befehlsoptionen zu unterstützen xcopy, bietet jedoch viele Verbesserungen - Unterstützung für lange Pfade, Pufferung, Unicode, Beibehaltung von Zeitstempeln usw. usw. Robocopyist seit Windows Teil von Windows und kann unter XP installiert werden.
user1016274
Dieser Befehl hat keinen Unterordner aus meiner Quelle kopiert, sondern nur Dateien in diesem Ordner.
Qwerty
@DavidPostill Muss ich die Verzeichnisse, die ich ausschließen möchte, ernsthaft in eine Textdatei einfügen und dann im Befehl auf diese Textdatei verweisen? Kann ich nicht einfach direkt sagen, welche Verzeichnisse ich ausschließen möchte? Ich denke robocopyist besser.
Shayan
9

Vielen Dank an @DavidPostill für seine Antwort. Es war ein Vergnügen. Ich habe es aber auch geschafft, Robocopy zum Laufen zu bringen. Für diejenigen, denen es helfen könnte, war der Befehl:

robocopy SOURCE DEST /mir /xd node_modules

Quelle ist der zu kopierende Ordner und Ziel ist das Ziel. Und ganz am Ende habe ich node_modules als Ordner, den ich ausschließen möchte.

Doidgey
quelle
3
Gut, alter Mann robocopy /mir. Sehr leistungsfähiger Schalter, der viel Gutes bewirken kann. Beachten Sie jedoch, was dieser Schalter bewirkt, bevor Sie ihn verwenden. Es werden zwei Verzeichnisse synchronisiert, einschließlich des Löschens von Elementen, wenn diese nicht im Quellverzeichnis vorhanden sind.
Adam Plocher
Ich danke dir sehr! Dies funktioniert sehr gut für die Synchronisierung meines Dokumentenordners mit Dropbox, jedoch ohne die Ordner node_modules, da sie so viel Platz beanspruchen
Ben Gubler
1
@AdamPlocher Ihr Kommentar hat mich vor Datenverlust bewahrt. Ich habe Robocopy als Ersatz für das Verschieben von Ordnern verwendet. Mir ist nicht in den Sinn gekommen, dass Dateien aus dem Zielordner gelöscht werden. Zum Glück konnte ich ein Backup von vor 4 Tagen wiederherstellen, also danke.
Hay