我想将本地目录递归复制到 Windows 10 上的另一个本地目录,具有以下要求:
- 复制操作在运行时不得提出任何问题。(这很重要,因为我预计它会运行 20 小时,而在此期间我无法单击“确定”。)如果发生错误,必须报告,并且必须继续复制下一个文件。
- 如果目标文件已经存在,如果大小不同,则副本必须覆盖它。(否则必须跳过该文件。)
- 该副本必须复制文件和目录的最后修改时间。
- 副本是否复制所有者、权限或扩展属性并不重要。
- 该副本必须适用于长度超过 255 个字符的路径名。
- 该副本必须以管理员身份运行,以便它具有对所有文件和目录的读写访问权限。
我尝试在 Total Commander 中复制,但它往往会用各种问题打断复制。我无法以在开始时回答所有可能的问题的方式开始复制。(我可以在设置中指定复制目录的最后修改时间。默认情况下它被禁用。)
Dsynchronize可以完成所有这些工作。
以管理员身份启动 cmd.exe。在那个黑色的控制台窗口中,运行:
它满足了问题中的所有要求,并进行了一项修改:如果目标具有相同路径名、大小和上次修改时间的文件,它会跳过复制文件。(这个问题只需要检查大小,忽略最后修改时间。)
它也遵循符号链接,因此陷入无限循环,永远不会完成:
C:\Users\All Users\Application Data\Application Data\Application Data\...