1

Можно ли как-нибудь быстро взять пустую структуру папок, созданную мной на рабочем столе, и скопировать ее в 488 других папок, расположенных на сетевом диске, но в одной папке?

Моя основная проблема заключается в том, что я хочу, чтобы созданная мной структура папок помещалась в подпапки сетевой папки. Есть 488 папок, в которые необходимо скопировать мою структуру. Все они содержат дополнительные папки и файлы, которые я не хочу иметь никакого влияния. Есть ли способ установить папку назначения robocopy на 1 уровень ниже или глубже папки назначения? Похоже на /LEV:n, но полностью изменено?

Я видел несколько публикаций, в которых упоминается рекурсия в похожих ситуациях, но я не знаю, как выполнить рекурсивную функцию, если это возможно.

1 ответ1

2

Я не совсем уверен, понимаю ли я каждый аспект вашего вопроса, но здесь мы идем.

Сохраните этот код в файле CMD и настройте путь к источнику, месту назначения и robocopy.exe, где пункт назначения означает корневую папку, содержащую ваши 488 подпапок.

@echo off
SET "source=C:\Users\zsmall\Desktop\Attachment Structure"
SET "dest=C:\Users\zsmall\Desktop\CustomTest"    
DIR /A:D /B %dest% > folders.txt    
for /f "delims=" %%G in (folders.txt) do (
C:\Windows\System32\robocopy.exe "%source%" "%dest%\%%G" /copy:DAT /E /W:2 /R:2 /MT:8
)
pause

Что оно делает

  • выводит список всех папок (без вложенных папок) из папки назначения и записывает имена в текстовый файл
  • перебирает каждую папку в этом файле списка
  • выполняет команду robocopy с текущей папкой в качестве места назначения
    (источник всегда в одной папке)
  • robocopy копирует все папки, подпапки и файлы, включая данные, атрибуты и метки времени

Информацию об используемых параметрах смотрите здесь:

Не пытайтесь сделать это, не сохранив сначала список в текстовом файле. Или вы можете оказаться как я, который создавал тысячи вложенных папок с тем же именем.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .