1

Я хочу перезаписать старые файлы в месте назначения, но не удалять файлы, которые присутствуют только в месте назначения.

Из https://ss64.com/nt/robocopy.html я понял, что /XO может сделать именно это, но я также понял, что возможно удалить файлы из места назначения (если у них нет аналога в источнике). Когда именно происходит это второе поведение (которого я хочу избежать)?

1 ответ1

2

Когда вы используете один из двух вариантов:

  • /PURGE : удалить файлы / папки dest, которые больше не существуют в источнике.
  • / MIR : MIRror дерево каталогов - эквивалентно /PURGE плюс все подпапки (/ E)

пример:

  • robocopy /PURGE c:\source d:\destination
  • robocopy /MIR c:\source d:\destination

Затем вы удалите файлы в месте назначения, если они не существуют в источнике.

Robocopy также по умолчанию установит «По умолчанию Robocopy будет копировать файл только в том случае, если у источника и места назначения есть разные отметки времени или разные размеры файлов».

Я также хотел бы предложить вам посмотреть:

  • /COPY:copyflag [s]: что копировать (по умолчанию /COPY: DAT)(copyflags: D = данные, A = атрибуты, T = временные метки S = безопасность = списки ACL NTFS, O = информация о владельце, U = информация об изменении),

пример:

  • robocopy /COPY:DAT c:\source d:\destination

Это обеспечит получение одинаковых временных отметок для файлов, которые будут скопированы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .