这可能是一个有点极端的情况,但我非常想知道是否有一种简单的方法可以实现这一点。
假设我有以下设置(后两个是第一个的符号链接):
- 目录:\Work\CommonStuff
- D:\工作\项目1\东西->D:\工作\CommonStuff
- D:\工作\项目2\东西->D:\工作\CommonStuff
现在假设我想将 备份D:\Work
到E:\Work
。
我希望相对地维持链接,从而导致:
- 电子邮件地址:
- E:\工作\项目1\东西->D:\工作\CommonStuff
- E:\工作\项目2\东西->D:\工作\CommonStuff
当然,我明白,如果我有:
- 目录:\Work\CommonStuff
- D:\工作\项目1\东西->D:\工作\CommonStuff
- D:\工作\项目2\东西->D:\工作\CommonStuff
- D:\工作\项目3\东西->D:\OtherCommonStuff
那么事情就会变得复杂,因为如果我只是复制,D:\Work
那么复制命令的最后一个选项会做什么呢?在这种情况下,我想直接复制文件,而丢失符号链接。
robocopy 或 xcopy 或 [anyother]copy 有什么方法可以在 Windows 10 上实现这一点吗?
答案1
看一眼:Ln 命令行硬链接
这个工具就像是 NTFS 的瑞士军刀,可以做很多事情,比如创建 SmartCopies,它可以保留内外 Hardlink/Junction/SymbolicLink 结构,执行基于硬链接的增量备份,以及很多其他在其他地方找不到的事情。
我认为您的要求可以通过以下方式实现:
ln.exe --unroll --copy --backup D:\Work E:\Work
--Unroll 遵循外部连接/符号链接目录,并在目标位置的层次结构内重建外部连接/符号链接目录的内容。Unroll 也适用于外部符号链接文件,这意味着,Unroll 会导致外部符号链接文件的目标复制到目标位置。
--copy:智能复制基本上是从源位置到目标创建目录结构的副本,但它保留源的内部硬链接结构和内部连接/符号链接关系,并在目标位置重新创建该内部硬链接结构和内部连接/符号链接关系。
--backup:使用备份模式 ACL 又名访问控制列表,其中包含文件、文件夹、连接或符号链接的安全性,并且加密文件也会被复制。
ln.exe 复制
- 文件和文件夹的替代流
- 文件和文件夹上的 EA 记录(很少使用)
- 重新解析信息
- 文件属性
- 时间戳:创建时间、上次访问时间、上次写入时间
- 稀疏文件和替代稀疏流
- 加密文件
- ACL