3

我需要将文件从一个位置复制到另一个位置,但只复制新文件或已更改的文件。

例如,我在 C:\Working 中有数据,其中包括文件夹和文件。这些文件被更改,并从那里删除,因为它们不再需要或项目已完成。

我需要一个批处理文件将该位置中的所有内容移动到 D:\Storage。由于某些文件可能没有更改,因此我不想复制这些文件,但是,我确实想复制和替换已修改的文件。

我相信我可以使用 Robocopy /E,这会给我我需要的递归。我不确定如何检查哈希或标记以验证文件是否已更改。我知道我可以使用 /XC 排除文件,但我认为这与我想要的相反。

现在我的文件如下:

@echo off
pushd C:\Working
>nul Robocopy /E . D:\Storage
popd

编辑:我不想只复制所有内容,因为工作位置可能有超过 60GB 的空间,并且只需要复制 1-2GB。

4

1 回答 1

4

http://ss64.com/nt/robocopy.html

默认情况下,仅当源和目标具有不同的时间戳或不同的文件大小时,Robocopy 才会复制文件。

因此,Robocopy . D:\Storage /E应该没问题。您可能需要/XO根据需要添加选项。

于 2013-03-19T20:25:39.627 回答