我需要将文件从一个位置复制到另一个位置,但只复制新文件或已更改的文件。
例如,我在C:\ Working中有数据,其中包括文件夹和文件。文件已更改,并从那里删除,因为它们不再需要或项目已完成。
我需要一个批处理文件将该位置的所有内容移动到D:\ Storage。由于某些文件可能没有更改,我不想复制这些文件,但是,我确实希望复制和替换已修改过的文件。
我相信我可以使用Robocopy / E,这将为我提供我需要的递归。我不确定如何检查哈希或标记以验证文件是否已更改。我知道我可以使用/ XC排除文件,但我认为这与我想要的相反。
现在我的文件如下:
@echo off
pushd C:\Working
>nul Robocopy /E . D:\Storage
popd
编辑:我不想复制所有内容,因为工作位置可能超过60GB,只需要复制1-2GB。
答案 0 :(得分:3)
http://ss64.com/nt/robocopy.html
默认情况下,如果源和目标具有不同的时间戳或不同的文件大小,Robocopy将仅复制文件。
因此,Robocopy . D:\Storage /E
应该没问题。您可能希望根据需要添加/XO
选项。