Robocopy 命令复制更新的文件和长路径名

Robocopy 命令复制更新的文件和长路径名

我正在尝试编写一个robocopy命令来从文件夹复制SRDS

文件夹DS 中可能包含已存在于 文件夹中 的文件SR,但如果 文件夹DS更新,请不要覆盖它。如果 文件夹中不存在 文件夹/文件DS,请复制它们,并在文件/文件夹上保留相同的安全权限(共享和 NTFS)和时间戳。

我试过了:

Robocopy Source Des /XN /E

问题是它不断覆盖数据,另一个问题是我有一个超过 320 个字符的长路径名,robocopy无法复制。

答案1

我认为/XN 是问题所在,请检查此链接: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy#remarks 我们知道:/xn = 排除较新的文件。

/E = 复制子目录。此选项包括空目录。

  • 我认为您需要使用不同的开关检查:

/maxlad:指定最长最后访问日期(不包括自 N 以来未使用的文件)。

/minlad:指定最小上次访问日期(不包括自 N 以来使用的文件)如果 N 小于 1900,则 N 指定天数。否则,N 指定 YYYYMMDD 格式的日期。

- 对于长路径名的问题,我有一个解决方案,但它会花费很多时间,所以为了不浪费更多时间在任何可以轻松解决这个问题的 GUI 工具上,尝试谷歌 rsync、gsrichcopy 360 或 teracopy,好消息是这些也可以解决最近文件或更新文件的问题,但首先检查一下我上面提到的解决方案

答案2

您可以尝试从文件夹 DS 复制到文件夹 SR——选择仅复制较新的文件。然后将文件夹 SR 复制到文件夹 DS。听起来好像文件夹 DS 中可能没有太多较新的文件,所以这不会增加太多时间。

最后,两个文件夹都将完全更新。

这确实取决于您的需求细节,但也可能就是您想要做的。

您可以尝试应用这个解决方案,或者也可以切换到其他用户提到的 robocopy 替代方案。

相关内容