Wie kopiere ich einen Ordner, der symbolische Links und Verknüpfungen relativ zum Kopierstamm enthält?

1090
Josh Comley

Dies mag ein bisschen ein Randfall sein, aber ich würde gerne wissen, ob es einen einfachen Weg gibt, dies zu erreichen.

Angenommen, ich habe Folgendes eingerichtet (wobei die beiden letztgenannten symbolische Links zur ersten sind):

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

Jetzt nehme ich ein Backup machen wollen D:\Workzu E:\Work.

Ich möchte, dass die Links relativ beibehalten werden, was zu Folgendem führt:

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

Natürlich verstehe ich das, wenn ich

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

Dann würde dies die Sache komplizieren, denn wenn ich nur D:\Workkopiere, was würde dann der Kopierbefehl für die letzte Option tun? In diesem Fall möchte ich die Dateien direkt kopieren und dabei den symbolischen Link verlieren.

Gibt es eine Möglichkeit, wie Robocopy oder Xcopy oder [eine andere] Kopie dies unter Windows 10 erreichen kann?

1

1 Antwort auf die Frage

0
liamZ

Schauen Sie sich folgendes an: Ln Befehlszeile Hardlinks

Dieses Tool ist eine Art NTFS Swiss Army Knife und kann eine Menge tun, z. B. SmartCopies erstellen, die die innere und äußere Struktur von Hardlink / Junction / SymbolicLink beibehalten, hardlinkbasierte inkrementelle Backups und viele andere Dinge, die nicht gefunden werden können irgendwo.

Ich denke, was Sie fragen, kann erreicht werden durch:

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

--Unroll folgt Outer Junctions / Symlink Directories und erstellt den Inhalt von Outer Junctions / Symlink Directories innerhalb der Hierarchie am Zielort neu. Das Abwickeln gilt auch für äußere Symlink-Dateien. Dies bedeutet, dass das Abrollen dazu führt, dass das Ziel der äußeren Symlink-Dateien an den Zielort kopiert wird.

--copy: Smart Copy erstellt grundsätzlich eine Kopie der Verzeichnisstruktur vom Quellspeicherort bis zum Ziel, behält jedoch die innere Hardlink-Struktur und die inneren Verknüpfungs- / Symbolverknüpfungsbeziehungen der Quelle bei und stellt diese innere Hardlink-Struktur und innere Kreuzung wieder her. symbolische Linkbeziehung am Zielort.

--backup: Verwenden der Sicherungsmodus-ACLs (auch Access Control Lists), die die Sicherheit für Dateien, Ordner, Verknüpfungen oder SymbolicLinks enthalten, und verschlüsselte Dateien werden ebenfalls kopiert.

ln.exe kopiert also

  • Alternative Streams für Dateien und Ordner
  • EA-Aufzeichnungen zu Dateien und Ordnern (selten verwendet)
  • Reparse Info
  • Dateiattribute
  • Zeitstempel: Erstellungszeit, letzte Zugriffszeit, letzte Schreibzeit
  • Sparse-Dateien und alternative Sparse-Streams
  • Verschlüsselte Dateien
  • ACLs