it-swarm.com.ru

Разница между ксерокопией и робокопией

Я вроде новичок в пакетных сценариях. Как новичок я нахожу их обоих полезными при написании сценариев. Каковы основные различия между xcopy и robocopy?

49
naveen marri

Robocopy заменяет XCopy в более новых версиях Windows

  1. Использует зеркальное отображение, XCopy не
  2. Имеет параметр/RH, позволяющий установить время для запуска копии
  3. Имеет параметр/MON: n для проверки различий в файлах
  4. Копирует больше файловых атрибутов, чем XCopy

Да, я согласен с Марком Сетчеллом, они оба . (предоставлено вам Microsoft)


UPDATE:

Коды возврата XCopy:

0 - Files were copied without error.
1 - No files were found to copy.
2 - The user pressed CTRL+C to terminate xcopy. enough memory or disk space, or you entered an invalid drive name or invalid syntax on the command line.
5 - Disk write error occurred.

Robocopy возвращает коды:

0 - No errors occurred, and no copying was done. The source and destination directory trees are completely synchronized.
1 - One or more files were copied successfully (that is, new files have arrived).
2 - Some Extra files or directories were detected. No files were copied Examine the output log for details. 
3 - (2+1) Some files were copied. Additional files were present. No failure was encountered.
4 - Some Mismatched files or directories were detected. Examine the output log. Some Housekeeping may be needed.
5 - (4+1) Some files were copied. Some files were mismatched. No failure was encountered.
6 - (4+2) Additional files and mismatched files exist. No files were copied and no failures were encountered. This means that the files already exist in the destination directory
7 - (4+1+2) Files were copied, a file mismatch was present, and additional files were present.
8 - Some files or directories could not be copied (copy errors occurred and the retry limit was exceeded). Check these errors further.
16 - Serious error. Robocopy did not copy any files. Either a usage error or an error due to insufficient access privileges on the source or destination directories.

Подробнее о возвращаемых значениях Robocopy можно узнать здесь: http://ss64.com/nt/robocopy-exit.html

62
Nicolas Tyler

Наиболее важным отличием является то, что robocopy будет (обычно) повторять попытку при возникновении ошибки, а xcopy - нет. В большинстве случаев это делает robocopy гораздо более подходящим для использования в скрипте.

Приложение: для полноты информации есть одна известная проблема с Edge в случае с Robocopy; он может молча копировать файлы или каталоги, имена которых содержат недопустимые последовательности UTF-16. Если это проблема для вас, вам, возможно, придется взглянуть на сторонние инструменты или написать свои собственные.

13
Harry Johnston

Различия, которые я мог видеть, в том, что у Robocopy гораздо больше вариантов, но я не нашел ни одного из них особенно полезным, если я не делаю что-то особенное.

Я провел несколько тестов на копирование и нашел, что XCOPY и ROBOCOPY - самые быстрые, но, к моему удивлению, XCOPY постоянно вытесняла Robocopy.

Ирония в том, что robocopy пытается повторить неудачную копию, но она также часто терпела неудачу в моих тестах производительности, где xcopy никогда не делал.

Я выполнил полное (побайтное) сравнение файлов после моих тестов производительности.

Вот переключатели, которые я использовал с robocopy в моих тестах:

 **"/E /R:1 /W:1 /NP /NFL /NDL"**.  

Если кто-нибудь знает более быструю комбинацию (кроме удаления/E, которое мне нужно), я бы хотел услышать.

Еще одна интересная/неутешительная вещь, связанная с robocopy, заключается в том, что в случае сбоя копии по умолчанию она повторяется 1 000 000 раз с 30-секундной задержкой между каждой попыткой. Если вы запускаете длинный пакетный файл без присмотра, вы можете быть очень разочарованы, когда вернетесь через несколько часов и обнаружите, что он все еще пытается скопировать определенный файл.

Переключатели/R и/W позволяют вам изменить это поведение.

  • С/R вы можете сказать, сколько раз повторить попытку,
  • / W давайте вам укажем время ожидания перед повторными попытками.

Если есть способ прикрепить файлы здесь, я могу поделиться своими результатами.

  • Все мои тесты проводились на одном компьютере и
  • скопировать файлы с одного внешнего диска на другой внешний,
  • оба на портах USB 3.0.

Я также включил FastCopy и Windows Copy в свои тесты, и каждый тест был выполнен 10 раз. Обратите внимание, различия были довольно значительными. 95% доверительные интервалы не перекрывались.

7
SixSigmaGuy

Больно слышать, что люди все еще страдают от рук * {COPY} независимо от версии. Я опытный автор сценариев Bash и Bash, и я рекомендую rsync, вы можете запустить его в cygwin (cygwin.org) или найти несколько исполняемых файлов. и вы можете перенаправить вывод в 2> & 1 в некоторый файл журнала, например out.log, для последующего анализа. Удачи людям пришло время снова полюбить жизнь. = М. Каан =

2
Haji M. Kaan