Разница между xcopy и robocopy


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

5 41

5 ответов:

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

  1. использует зеркальное отображение, XCopy-нет
  2. имеет параметр / RH, позволяющий установить время запуска копии
  3. имеет опцию /MON:n для проверки различий в файлах
  4. копирует больше атрибутов файлов, чем XCopy
Да, я согласен с Марком Сетчеллом,они оба дерьмо. (принес вам Microsoft)

Обновление:

Коды возврата 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.

Существует более подробную информацию о ценности программы возвращения здесь: http://ss64.com/nt/robocopy-exit.html

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

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

Различия, которые я мог видеть, заключаются в том, что 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% доверительные интервалы не пересекались.

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

Они оба-мусор! XCOPY был старше и ненадежен, поэтому Microsoft заменила его на ROBOCOPY, который все еще является мусором.

Http://answers.microsoft.com/en-us/windows/forum/windows_8-files/robocopy-appears-to-be-broken-in-windows-8/9a7634c4-3a9d-4f2d-97ae-093002a638a9

Не волнуйтесь, хотя это давняя традиция, которая была начата оригинальной командой COPY, которая по сей день все еще нуждается в переключателе /B, чтобы получить его на самом деле правильно скопировать!