я использую
Robocopy src dst /MIR /NFL /NDL /NJH /NJS
для резервного копирования src. Он говорит, что на целевом жестком диске недостаточно места во время процесса. На целевом диске действительно достаточно места, так как многие файлы в src были удалены.
Как установить флаги, чтобы ROBOCOPY сначала удалил лишние файлы, чтобы освободить место, а затем скопировал новые/обновленные файлы?
решение1
Как вы заметили, robocopy, вероятно, пытается обойти ваше дерево и применить необходимые изменения. Это включает копирование новых файлов. Он не удаляет сначала старый контент, поскольку это означало бы, что ему пришлось бы обойти дерево дважды. Это может быть довольно медленно в зависимости от базовой файловой системы.
Теоретически /mir
делает то, что вам нужно. Это комбинация /purge
и /e
. Но поскольку место назначения уже заполнено, вы хотите, чтобы операции удаления выполнялись до того, как будет скопировано что-либо новое. Для этого вы должны иметь возможность использовать /nocopy
. Возможно, вам придется запустить это независимо с помощью /purge
.
- /e Копирует подкаталоги. Обратите внимание, что эта опция включает пустые каталоги. Для получения дополнительной информации см. Примечания.
- /purge Удаляет файлы назначения и каталоги, которые больше не существуют в источнике. Для получения дополнительной информации см. Примечания.
- /mir Зеркало дерева каталогов (эквивалентно /e плюс /purge). Для получения дополнительной информации см. Примечания.
- /nocopy Не копирует информацию о файле (полезно вместе с /purge).