xcopy
предоставляет методы для копирования файлов на основе их атрибута Archive.Вероятно, вам понадобится опция /M
, которая копирует только файлы с установленным атрибутом Archive и сбрасывает этот атрибут.Это отчасти зависит от установленного атрибута Archive, но Windows делает это по умолчанию (я думаю) при создании или изменении файла.
Например (пример мусора, но, тем не менее, пример):
C:\tmp>echo hello > out.txt
C:\tmp>xcopy /M *.* ..
C:out.txt
1 File(s) copied
C:\tmp>xcopy /M *.* ..
0 File(s) copied
C:\tmp>echo hello > out2.txt
C:\tmp>xcopy /M *.* ..
C:out2.txt
1 File(s) copied
Копируются только те файлы, которые были добавлены / изменены с момента последней копии.
В качестве альтернативы, в зависимости от версии Windows, вы можете рассмотреть гораздо более мощный (и, следовательно, более запутанный) robocopy
.