Как скопировать папку с символическими ссылками и соединениями относительно корня копии?
Это может быть немного крайним случаем, но я хотел бы знать, есть ли простой способ достигнуть этого.
Предположим, у меня есть следующие настройки (где последние два являются символическими ссылками на первый):
- 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 для файлов и папок (редко используется)
- Повторная информация
- Атрибуты файла
- Метки времени: время создания, время последнего доступа, время последней записи
- Разреженные файлы и альтернативные разреженные потоки
- Зашифрованные файлы
- списки управления доступом