Скопируйте большое количество файлов, но исключите определенные подпапки в Windows


14

Я хочу сделать резервную копию моей рабочей папки, которая в основном содержится в структуре папок, такой как:

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

Мне нужно скопировать все проекты, но исключить папку node_modules в каждом проекте. Есть ли простой способ сделать это оптом? Поскольку у меня есть большое количество проектов, чтобы пройти.

Работает на Windows 8.1


Посмотрите на этот вопрос: superuser.com/questions/359031/… . В самом вопросе есть твой ответ.
Ангус

Ответы:


12

Мне нужно скопировать все проекты, но исключить папку node_modules

Вы можете использовать xcopyвместе с excludeопцией:

xcopy www backup /exclude:except.txt
  • except.txt содержит список файлов каталогов, которые должны быть исключены.

except.txt:

node_modules

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

  • Каждый из файлов может содержать одно или несколько полных или частичных путей, которые необходимо исключить.
  • Если какой-либо из них соответствует какой-либо части абсолютного пути файла SOURCE, этот файл будет исключен.
  • Например, указание строки типа \obj\или .objисключит все файлы в каталоге objили все файлы с .objрасширением соответственно.

Source xcopy - Скопируйте файлы и / или деревья каталогов в другую папку.


дальнейшее чтение


Круто, спасибо, я попробую. Я также нашел это: robocopy SOURCE DESTINATION /mir /xd FOLDER_TO_EXCLUDE- Я полагаю, это может работать тоже?
Доиджи

Вполне вероятно. Я не знаю, что
такое robocopy

Дайте robocopyпопробовать - он был разработан , чтобы поддерживать те же самые параметры командной строки , как , xcopyно имеет множество улучшений - поддержка длинных пути, буферизацию, юникод, он сохраняет временные метки и т.д. и т.п. Robocopyявляется частью Windows , начиная с Vista, устанавливаемой на XP.
user1016274 15.07.15

Эта команда не копировала подпапки из моего источника, только файлы в этой папке.
Qwerty

@DavidPostill Должен ли я серьезно поместить каталоги, которые я хочу исключить, в текстовый файл, а затем сослаться на этот текстовый файл в команде? Разве я не могу прямо сказать, какие каталоги я хочу исключить? Я думаю, robocopyчто лучше.
Шаян

9

Спасибо @DavidPostill за его ответ. Это сработало. Однако мне также удалось заставить работать робокопию. Для тех, кому это может помочь, команда была:

robocopy SOURCE DEST /mir /xd node_modules

Source - папка для копирования, а dest - место назначения. И прямо в конце у меня есть node_modules в качестве папки, которую я хочу исключить.


3
Добрый день robocopy /mir. Очень мощный переключатель, который может принести много пользы, но просто знайте, что делает этот переключатель, прежде чем использовать его. Он будет синхронизировать два каталога, включая удаление элементов, если они не существуют в исходном каталоге.
Адам Плохер

Спасибо огромное! Это очень хорошо работает для синхронизации папки «Мои документы» с Dropbox, но исключая папки node_modules, поскольку они занимают так много места
Бен Габлер,

1
@AdamPlocher Ваш комментарий спас меня от потери данных. Я использовал robocopy в качестве замены для перемещения папок, мне не пришло в голову, что это удалит файлы из целевой папки. К счастью, я смог восстановить резервную копию 4 дня назад, так что спасибо.
Hay
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.