Как скопировать папку с символическими ссылками и соединениями относительно корня копии?

Это может быть немного крайним случаем, но я хотел бы знать, есть ли простой способ достигнуть этого.

Предположим, у меня есть следующие настройки (где последние два являются символическими ссылками на первый):

  • D: \ Work \ CommonStuff
  • D: \ Work \ Project1 \ Stuff -> D: \ Work \ CommonStuff
  • D: \ Work \ Project2 \ Stuff -> D: \ Work \ CommonStuff

Теперь предположим, что я хочу сделать резервную копию D:\Work в E:\Work,

Я хотел бы, чтобы ссылки были сохранены, относительно, в результате чего:

  • E: \ Work \ CommonStuff
  • E: \ Work \ Project1 \ Stuff -> D: \ Work \ CommonStuff
  • E: \ Work \ Project2 \ Stuff -> D: \ Work \ CommonStuff

Конечно, я понимаю, что если бы у меня было:

  • D: \ Work \ CommonStuff
  • D: \ Work \ Project1 \ Stuff -> D: \ Work \ CommonStuff
  • D: \ Work \ Project2 \ Stuff -> D: \ Work \ CommonStuff
  • D: \ Work \ Project3 \ Stuff -> D: \ OtherCommonStuff

Тогда это усложнит ситуацию, потому что, если я просто копирую D:\Work тогда что будет делать команда копирования для последнего варианта? В этом случае я бы хотел скопировать файлы напрямую, потеряв символическую ссылку.

Есть ли способ, которым robocopy, xcopy или [anyother] копия могут достичь этого в Windows 10?

1 ответ

Взгляните на: Ln Hardlink командной строки

Этот инструмент является своего рода швейцарским армейским ножом NTFS и может делать много вещей, например создавать SmartCopies, которые сохраняют внутреннюю и внешнюю структуру Hardlink/Junction/SymbolicLink, делать инкрементные резервные копии на основе жестких ссылок и многое другое, что не может быть найдено в любом месте.

Я думаю, что то, что вы просите, может быть достигнуто путем:

ln.exe --unroll --copy --backup D:\Work E:\Work

--Записаться следует на каталоги Outer Junctions/Symlink и перестраивает содержимое каталогов Outer Junctions/Symlink внутри иерархии в месте назначения. Развертывание также применяется к Outer Symlink Files, что означает, что развертывание вызывает копирование цели Outer Symlink Files в место назначения.

--copy: Smart Copy в основном создает копию структуры каталогов из исходного местоположения в место назначения, но сохраняет внутреннюю структуру жесткой ссылки и отношения внутреннего соединения / символической ссылки источника и воссоздает эту внутреннюю структуру жесткой связи и внутреннее соединение / отношение символической ссылки в месте назначения.

--backup: также копируются списки управления доступом в режиме резервного копирования, также называемые списками контроля доступа, которые содержат защиту для файлов, папок, соединений или символических ссылок, а также зашифрованных файлов.

ln.exe при этом копирует

  • Альтернативные потоки на файлы и папки
  • EA Records для файлов и папок (редко используется)
  • Повторная информация
  • Атрибуты файла
  • Метки времени: время создания, время последнего доступа, время последней записи
  • Разреженные файлы и альтернативные разреженные потоки
  • Зашифрованные файлы
  • списки управления доступом
Другие вопросы по тегам