скопируйте c папок в основную папку - PullRequest
0 голосов
/ 19 февраля 2020

Думаю, у меня есть главная папка . В main-folder находятся папки типа my-folder-x . В папках типа my-folder-x есть как папки, так и некоторые файлы.

-main-folder
 -my-folder-a
   -build-folder
   -demo-folder
   dummy.js
   dummy.css
   my.json
   -dummy-folder
 -my-folder-b
   -build-folder
   -demo-folder
   dummy.js
   dummy.css
   my.json
   -dummy-folder
 -my-folder-c
   -build-folder
   -demo-folder
   dummy.js
   dummy.css
   my.json

Я хочу скопировать эти папки с указанными c folder / files.So, я хочу скопируйте эти папки в скопированную папку следующим образом:

-copied-folder
  -my-folder-a
    -build-folder
    -demo-folder
  -my-folder-b
     -build-folder
     -demo-folder
  -my-folder-c
     -build-folder
     -demo-folder

Мне нужно это для работы на кросс-платформенных платформах, таких как Windows, Unix ...

Я пытаюсь ncp пакет. Есть опция фильтра, но я думаю, что это только для имен файлов, а не папок.

https://github.com/AvianFlu/ncp

Есть идеи?

Примечание: I также необходимо скопировать файлы и папки в build-folder и demo-folder . Это могут быть папки или файлы в этих двух типах папок.

Примечание2: проект использует npm. Например, я использую пакет rimraf npm для удаления папок. Это кросс-платформенный. Оба работают на Windows и Ma c

https://www.npmjs.com/package/rimraf

1 Ответ

0 голосов
/ 19 февраля 2020

Это find + cp должно работать с утилитами gnu, установленными на Unix, Windows, Ma c et c:

cd main-folder
find . \( -path '*/build-folder/*' -o -path '*/demo-folder/*' \) \
-exec cp --parents '{}' copied-folder \;

GNU Utils на Windows

...