Разница между xcopy и robocopy
Я вроде как новичок в пакетных сценариях. Как новичок я нахожу их обоих полезными при написании сценариев Каковы основные различия между xcopy и robocopy?
5 ответов:
Robocopy заменяет XCopy в более новых версиях windows
Да, я согласен с Марком Сетчеллом,они оба дерьмо. (принес вам Microsoft)
- использует зеркальное отображение, XCopy-нет
- имеет параметр / RH, позволяющий установить время запуска копии
- имеет опцию /MON:n для проверки различий в файлах
- копирует больше атрибутов файлов, чем XCopy
Обновление:
Коды возврата 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, которая мне нужна), я бы с удовольствием послушал. Еще одна интересная / разочаровывающая вещь с robocopy заключается в том, что если копия не удается, по умолчанию она повторяет 1,000,000 раз с 30-секундной задержкой между каждой попыткой. Если вы запускаете длинный пакетный файл без присмотра, вы можете быть очень разочарованы, когда вы возвращаетесь через несколько часов и обнаруживаете, что он все еще пытается скопировать определенный файл.**"/E /R:1 /W:1 /NP /NFL /NDL"**.
Переключатели /R и /W позволяют изменить это поведение.
- С /R вы можете сказать, сколько раз повторить попытку,
- /W давайте вы укажете время ожидания перед повторными попытками.
Если есть способ прикрепить файлы сюда, я могу поделиться своими результатами.
- все мои тесты были сделаны на одном компьютере и
- копирование файлов с одного внешнего диска на другой внешний,
- оба на портах USB 3.0.
Я также включил FastCopy и Windows Copy в свои тесты, и каждый тест был выполнен 10 раз. Заметьте, различия были довольно существенными. 95% доверительные интервалы не пересекались.
Его больно слышать люди все еще страдают от рук * {COPY} независимо от версии. Я опытный пакетный и Баш-сценарист, и я рекомендую rsync , вы можете запустить это в cygwin (cygwin.org) или вы можете найти некоторые двоичные файлы, плавающие вокруг . и вы можете перенаправить вывод на 2>&1 в какой-нибудь файл журнала, например out.журнал для последующего анализа. Удачи людям его время, чтобы любить жизнь снова . =М. Каан=
Они оба-мусор!
XCOPY
был старше и ненадежен, поэтому Microsoft заменила его наROBOCOPY
, который все еще является мусором.Не волнуйтесь, хотя это давняя традиция, которая была начата оригинальной командой
COPY
, которая по сей день все еще нуждается в переключателе/B
, чтобы получить его на самом деле правильно скопировать!