Несколько вещей., ,
- Похоже, что вам нужно будет использовать
/MIR
параметр вместо/S
параметра, чтобы убедиться, что каталоги не будут скопированы в место назначения, когда они уже существуют там.- Использование этого
/MIR
параметра будет означать, что пустые каталоги будут скопированы в место назначения, так что это компромисс, гарантирующий, что уже существующие каталоги не копируются снова при каждом запуске. Существует простой обходной путь для быстрого удаления пустых каталогов в месте назначения, что влечет за собой запускRobocopy <dest> <dest> /S /MOVE
непосредственно после запуска команды с использованием/MIR
параметра.
- Использование этого
- Если вы хотите опустить каталоги из вывода Robocopy, просто добавьте
/NDL
параметр.
Robocopy Script
Robocopy "<Source>" "<Destination>" *.* /MIR /COPY:DATSO /B /NP /NDL /XJ /REG /MAXAGE:1 /MT:16 /R:3 /W:1 Robocopy <dest> <dest> /S /MOVE
Важные заметки:
Использование
/MIR
переключателя также будет означать, что файлы и папки в месте назначения, которые больше не существуют в источнике, будут удалены из места назначенияКопирование пустых каталогов для каждого запуска скрипта по сравнению с копированием тех же тысяч каталогов для каждого запуска скрипта в место назначения, которые уже существуют в месте назначения, кажется небольшой ценой, и, поскольку их можно легко и быстро удалить, это кажется легкой задачей
Команда Robocopy,
Robocopy <dest> <dest> /S /MOVE
которая удаляет пустые каталоги из пункта назначения, использует место назначения для ОБА источника и пункта назначения
Дополнительные ресурсы
- Robocopy
Robocopy /?
/MIR :: MIRror a directory tree (equivalent to /E plus /PURGE). /MOVE :: MOVE files AND dirs (delete from source after copying). /NDL :: No Directory List - don't log directory names.