为了更新目标文件夹中的文件,我只想复制目标文件夹中已有的旧版本的新文件。
我不想复制源文件夹中有但不在目标文件夹中的任何文件。
这样,我就不会增加目标文件夹中的文件数量,而只会更新目标文件夹中的现有文件。
例子:
源目录:
A.txt 2020-08-25 B.txt 2020-09-13 C.txt 2020-05-03
目标目录:
B.txt 2020-08-09 C.txt 2020-05-03
在这种情况下,只有B.txt
应该复制,因为:
A) A.txt
目标文件夹中不存在,因此不要复制它,
b) B.txt
在目标文件夹中较旧,因此,复制它,
C) C.txt
因为目的地并不老,所以不要复制它。
- 能
RoboCopy
这样做吗,或者我需要一个批处理文件?
答案1
如果您只需要将新数据复制到目标文件夹,此链接中有很多针对同一问题的想法 Robocopy 命令复制更新的文件和长路径名
答案2
免责声明:当我发现这个问题时,我正在寻找完全相同的问题。我有点惊讶地发现答案只出现在对未接受答案的评论中,所以我基本上只是重申一下史蒂夫·林斯伯格上面评论过。
使用XCOPY SrcFolder [DstFolder] /U /D [/E]
正是按照要求进行的,使用:
SrcFolder
包含较新文件的存储库文件夹DstFolder
复制到的位置(以及查找要复制的内容的位置)。如果命令在DstFolder
/U
仅复制目标中已存在的文件。/D
复制源时间比目标时间新的文件。/E
将此同类副本扩展到子目录。
我还发现,只输出将被复制的内容(而不实际执行此操作)很有用,可以使用
XCOPY SrcFolder [DstFolder] /U /D [/E] /Y /F /L
/L
显示将被复制的文件。/Y
抑制确认是否覆盖现有目标文件的提示。/F
复制时显示完整的源文件名和目标文件名。