Удаление старых папок при перемещении папок / файлов с помощью Robocopy

Я использую Robocopy для архивации файлов / папок на нашем сервере в течение X дней и обнаружил, что мои фильтры не должны быть правильно установлены. Перемещение выполняется правильно, но после завершения перемещения старые папки остаются на исходном сервере, в результате чего остается много пустых папок и подпапок. Вот мой сценарий:

    Robocopy "source" "destination" /DCOPY:T /tee /mt:16 /MOVE /MINAGE:120 /LOG+:Log.txt

Что мне не хватает?


person david_jr    schedule 03.09.2013    source источник
comment
Это только я? Кажется, что ни один из ответов не отвечает на вопрос. Принятый ответ тоже не решает проблемы. В исходном каталоге останется много пустых каталогов.   -  person Parth    schedule 07.09.2017


Ответы (4)


Вам необходимо / E для копирования (пустых) вложенных папок
http://ss64.com/nt/robocopy.html

person Andreas    schedule 24.10.2013

Одна проблема, которую я обнаружил с некоторыми версиями Robocopy, заключается в том, что если вы используете переключатель / mt с переключателем / move, кажется, что остаются пустые папки. Попробуйте удалить переключатель / mt и посмотрите, работает ли он лучше для вас, поскольку это помогло мне.

person Aakash Shah    schedule 06.03.2014

Параметр / MT: не имеет ничего общего с датой, это количество потоков, используемых robocopy. Исходный вопрос остается: если вы используете robocopy для ПЕРЕМЕЩЕНИЯ большого количества папок с подпапками, подпапка на самом глубоком уровне действительно ПЕРЕМЕЩАЕТСЯ, а папки выше в дереве остаются (хотя и пустыми). Это не имеет ничего общего с «задумкой», это ошибка. В старых версиях все работало как положено. Если вы переместили папку с подпапками на 10 уровней глубиной, все было ПЕРЕМЕЩЕНО. Теперь самая глубокая из них перемещена, все остальные остаются пустыми. Файлы перемещаются должным образом. Вы можете удалить переключатель / MT, он ничего не меняет, потому что автоматически применяется значение по умолчанию 8.

person topsoftbe    schedule 09.09.2015

Если ваша папка была изменена менее 16 дней назад, она не будет "перемещена" (и, следовательно, удалена), поскольку она не помещается в фильтр /MINAGE:120.
Вам может потребоваться процедура перед robocopy, чтобы установить дату папки на один из последних измененных файлов, которые он содержал.

person Mat M    schedule 21.04.2014
comment
/mt не имеет ничего общего с датой модификации (для этого вы бы использовали /min и /max), а скорее с количеством потоков, используемых при копировании / перемещении. - person XtraSimplicity; 20.03.2016
comment
@XtraSimplicity неправильное копирование / вставка из командной строки OP. спасибо за внимание - person Mat M; 20.03.2016