Как скопировать директорию, исключив из копирования все вложенные папки с именем node_modules?

В основной папке есть подпапки, содержащие директории node_modules, копирование которых занимает слишком много времени. <br/> Как скопировать эту папку из WSL в Windows, исключив (игнорируя) все вложенные папки с именем node_modules?
  • 21 мая 2026 г. 23:00
Ответы на вопрос 5
Проще всего — воспользоваться rsync (рекомендуется) или tar из WSL и указать шаблон исключения для каталогов node_modules.

1) Рекомендуемый способ — rsync
Пример (копирование /home/user/project в Windows C:\Users\You\project):
rsync -av --progress --exclude='**/node_modules/**' /home/user/project/ /mnt/c/Users/You/project/

Пояснения:
- -a = archive (рекурсивно, сохраняет права, симлинки и т.д.);
- --progress показывает прогресс;
- --exclude='**/node_modules/**' исключает любые вложенные папки node_modules и их содержимое;
- важен слеш в конце источника (/home/.../project/) — копируются содержимое каталога в целевой каталог.

Для теста запустите сначала в "dry-run":
rsync -av --dry-run --exclude='**/node_modules/**' /home/user/project/ /mnt/c/Users/You/project/

2) Альтернатива — tar с исключением
(cd /home/user/project && tar --exclude='**/node_modules/**' -cf - .) | (cd /mnt/c/Users/You/project && tar -xvf -)

Или с более простым шаблоном:
(cd /home/user/project && tar --exclude='*/node_modules/*' -cf - .) | (cd /mnt/c/Users/You/project && tar -xvf -)

Замечания:
- Копирование в /mnt/c/... идёт напрямую в NTFS, некоторые Unix-атрибуты могут не сохраниться.
- rsync обычно быстрее и удобнее для больших деревьев; используйте --dry-run перед реальным запуском, чтобы убедиться в шаблонах исключения.
Написать простой скрипт: <br/>
<pre><code>rsync -a --exclude='node_modules/' ./project/ /mnt/c/Users/user/dest/</code></pre>
Использовать нормальные файл-менеджеры. Например тоталкоммандер.
Это можно сделать разными способами. Но наиболее развитый и гибкий на мой взгляд это через Beyond Compare или подобную утилиту. Далее зависит от типа задачи. <br/> К примеру, если вы постоянно делается копирование, то можно сохранить в Beyond Compare и запускать, при этом просматривая изменения, что чаще всего психологически удобно. <br/> Если же это не нужно, особо решения никакие принимать не нужно, можно автоматизировать через bat или ps1 и т.п.
Похожие вопросы