Я планирую использовать robocopy для перемещения файлов и папок из каталога на сервере в каталог на жестком диске, используя следующую команду:
robocopy [источник] [пункт назначения] /e /move /xo
В случае конфликта имен файлов, я понимаю, что заменить файлы на жестком диске, только если он более новый (или точно такой же возраст?), А затем удалить файлы, которые были скопированы.
В идеале я хотел бы, чтобы исходный каталог был очищен от файлов, но я подозреваю, что может быть проблема; если файл не передан (возможно, он используется в данный момент или в месте назначения существует более новая версия), он не будет удален.
В случае реальной ошибки в процессе копирования (например, если robocopy отказывается перемещать файл, который используется), я не могу просто добавить последующую команду для удаления всего исходного каталога, поскольку это может привести к потере данных, которые имеют не были переданы.
Я планирую использовать его в качестве командного файла, который регулярно выполняется Windows как запланированное задание.
Поэтому я задаюсь вопросом: существует ли простой автоматизированный способ, позволяющий робокопии удалять файлы, которые либо были переданы правильно (как это уже происходит), либо те, для которых более новые копии уже существуют в месте назначения (чего в настоящее время нет), хотя хранение файлов, которые не были переданы из-за какой-либо другой ошибки (например, права доступа, используемый файл и т. д.)?
Возможно, есть более простой способ сделать это?