如何复制一个文件夹并保持符号链接和相对于复制根目录的连接点?

看一下: Ln命令行硬链接

这个工具有点像NTFS瑞士军刀,可以做很多事情,比如创建SmartCopies,保留内部和外部的Hardlink/Junction/SymbolicLink结构,进行基于Hardlink的增量备份,以及其他一些无法在其他地方找到的功能。

我认为你所问的可以通过以下方式实现:

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

--Unroll会按照目标位置的层次结构,跟随外部连接点/符号链接目录,并重新构建外部连接点/符号链接目录的内容。Unroll也适用于外部符号链接文件,这意味着unroll会将外部符号链接文件的目标复制到目标位置。

--copy:智能复制基本上是从源位置到目标位置创建目录结构的副本,但它保留了源的内部硬链接结构和内部连接点/符号链接关系,并在目标位置重新创建这种内部硬链接结构和内部连接点/符号链接关系。

--backup:使用备份模式ACL(访问控制列表),其中包含文件、文件夹、连接点或符号链接的安全性,以及复制加密文件。

ln.exe因此复制:

- 文件和文件夹上的备用流

- 文件和文件夹上的EA记录(很少使用)

- 重解析信息

- 文件属性

- 时间戳:创建时间、最后访问时间、最后写入时间

- 稀疏文件和备用稀疏流

- 加密文件

- ACLs