Робокопия
Другие имена | Надежное копирование файлов для Windows |
---|---|
Разработчик(и) | Майкрософт |
Первоначальный выпуск | 1996 г., 27–28 лет назад. |
Стабильная версия | |
Операционная система | Windows NT 4 и более поздние версии |
Входит в комплект | Windows Vista и более поздние версии |
Тип | Команда |
Лицензия | Бесплатное ПО |
Веб-сайт | учиться |
Robocopy — это командной строки для передачи файлов утилита для Microsoft Windows . Robocopy функционально более комплексен, чем команды COPY и XCOPY , но не заменяет ни одну из них. Создано Кевином Алленом [2] Впервые выпущенный как часть Windows NT 4.0 Resource Kit , он стал стандартной функцией Windows начиная с Windows Vista и Windows Server 2008 .
Функции
[ редактировать ]Robocopy предоставляет функции, отсутствующие во встроенных командах Windows COPY и XCOPY , включая следующие:
- Восстановление после временной потери сетевого подключения (неполные файлы помечены отметкой даты 1970-01-01 и содержат запись восстановления, чтобы Robocopy знал, с чего продолжить).
- Обнаружение и пропуск точек соединения NTFS , которые при определенных обстоятельствах могут привести к сбоям копирования из-за бесконечных циклов (с
/XJ
выключатель). - Сохранение любой комбинации следующего: содержимого файла, атрибутов, метаданных (например, исходных меток времени), списков управления доступом NTFS (списков DACL, списков SACL и владельца). Например, можно скопировать списки ACL из одного файла в другой. Однако до версии XP026 эта возможность была ограничена только файлами, а не папками.ps).
- Использование привилегии Windows NT «Резервное копирование файлов и каталогов» (
SeBackupPrivilege
, обычно недоступно для стандартных учетных записей пользователей) для обхода списков ACL NTFS, которые в противном случае затруднили бы передачу (требуется/B
выключатель). [3] [4] - Постоянство по умолчанию, с программируемым количеством автоматических повторов, если файл не может быть скопирован.
- Зеркальный режим, при котором два дерева каталогов синхронизируются, а также удаляются файлы в месте назначения, которых нет в источнике.
- Пропуск файлов, уже находящихся в папке назначения, с идентичным размером и отметкой времени.
- Индикатор прогресса
- Поддержка путей длиной более 259 символов (теоретический предел составляет около 32 000 символов). [5]
- Многопоточное копирование (введено в Windows 7 и Windows Server 2008 R2 ). [6]
- Коды возврата (используются в автоматизации). [7]
Сжатие
[ редактировать ]Начиная с Windows Server 2019 и Windows 10 , Robocopy поддерживает сжатие SMB для передачи файлов по сети. Если /compress
указан, конечный компьютер поддерживает сжатие SMB, а копируемые файлы сжимаемы, то операция значительно улучшается в производительности. Сжатие SMB добавляет встроенное сжатие пробелов при передаче файлов. Сжатие также доступно с помощью XCOPY
команда и Hyper-V живая миграция с помощью SMB. [8] [9]
Примеры использования
[ редактировать ]Вот несколько примеров использования без учета регистра. Если указано более одного параметра, они должны быть разделены пробелами.
- Пример 1
- Скопируйте содержимое каталога источника
Directory A
до места назначенияDirectory B
(включая данные файла, атрибуты и временные метки), рекурсивно с пустыми каталогами (/E
):
Robocopy "C:\Directory A" "C:\Directory B" /E
- Если имена каталогов содержат нестандартные символы, например пробелы, их необходимо заключить в двойные кавычки, как обычно в командной строке.
- Пример 2
- копировать каталог Рекурсивно (
/E
), скопируйте всю информацию о файле (/COPYALL
, эквивалентный/COPY:DATSOU
,D
=Данные,A
= Атрибуты,T
= Временные метки,S
=Безопасность= NTFS ACL ,O
=Информация о владельце,U
=Информация аудита), не пытайтесь повторять заблокированные файлы (/R:0
) (количество повторных попыток неудачных копий по умолчанию равно 1 миллиону), сохранять временные метки исходных каталогов (/DCOPY:T
- требуется версия XP026 или новее):
Robocopy C:\A C:\B /COPYALL /E /R:0 /DCOPY:T
- Пример 3
- Зеркально отразить A в B, уничтожив все файлы в B, которых нет в A (
/MIR
), копировать файлы в режиме возобновления (/Z
) в случае потери сетевого соединения:
Robocopy C:\A \\backupserver\B /MIR /Z
- Полную информацию см. на странице Microsoft TechNet Robocopy. [10]
Синтаксическая направленность на копирование папок
[ редактировать ]Синтаксис Robocopy заметно отличается от своих предшественников ( copy и xcopy ), поскольку в качестве аргументов источника и назначения он принимает только имена папок без обратной косой черты в конце. Имена файлов и подстановочные знаки (например, *
и ?
) недопустимы в качестве аргументов источника или назначения; файлы могут быть выбраны или исключены с помощью дополнительного аргумента фильтрации «файл» (который поддерживает подстановочные знаки), а также различных других параметров. [11]
Например, чтобы скопировать два файла из папки c:\bar
к c:\baz
, используется следующий синтаксис:
robocopy c:\bar c:\baz file1.txt file2.db
И чтобы скопировать все PDF-файлы из c:\bar
к c:\baz
:
robocopy c:\bar c:\baz *.pdf
Именованные файлы копируются только из выбранной для копирования папки; полные имена путей не поддерживаются.
ВНИМАНИЕ. Давняя проблема с Robocopy означает, что при резервном копировании из корневой папки диска [например, robocopy d:\ b:\d-backup\ ....
], целевым файлам будут присвоены атрибуты, включая SH. Это означает, что они будут невидимы для обычного доступа (включая DIR в cmd.exe). Чтобы исправить это, добавьте /a-:SH
в командную строку robocopy или выполните команду ATTRIB, чтобы удалить их впоследствии.
Выход
[ редактировать ]Robocopy выводит на экран или, при необходимости, в файл журнала имена всех встреченных каталогов в алфавитном порядке. Каждому имени предшествует количество файлов в каталоге, соответствующих критериям копирования. Если каталог еще не существует в целевом каталоге, он помечается как «Новый каталог»; если каталог пуст и параметр /E не используется или он не содержит файлов, соответствующих критериям, новый каталог не будет создан.
Если параметр /NFL (без имен файлов в журнале) не используется, копируемые файлы будут перечислены после имени каталога, в котором они находятся.
В конце вывода находится таблица с количеством каталогов, файлов и байтов. Для каждого из них в таблице указано общее количество найденных в источнике, количество скопированных (включая каталоги с пометкой «Новый каталог», даже если они не скопированы), число пропущенных (поскольку они уже существуют в целевом каталоге) и количество несоответствий , FAILED и дополнений . «Не удалось» может означать, что произошла ошибка ввода-вывода, которая помешала копированию файла, или что доступ был запрещен. Также есть строка затраченного времени (в которой время, затраченное на неудавшиеся файлы, похоже, указано в неправильном столбце).
Регулирование пропускной способности
[ редактировать ]Опция Robocopy « межпакетный разрыв » (IPG) позволяет в некоторой степени контролировать пропускную способность сети, используемую в сеансе. Теоретически следующая формула выражает задержку ( D в миллисекундах), необходимую для моделирования желаемой пропускной способности ( B D в килобитах в секунду ) по сетевому каналу с доступной пропускной способностью B A кбит/с:
Однако на практике обычно требуется некоторое экспериментирование, чтобы найти подходящую задержку из-за таких факторов, как характер и объем другого трафика в сети. Методика, используемая опцией IPG, может не обеспечивать тот же уровень контроля, который обеспечивается некоторыми другими технологиями регулирования пропускной способности, такими как BITS (которая используется Центром обновления Windows и BranchCache).
Ограничения
[ редактировать ]- Robocopy не копирует открытые файлы. Любой процесс может открывать файлы с эксклюзивным доступом для чтения, удерживая
FILE_SHARE_READ
[12] флаг во время открытия. Обычно в таких ситуациях используется служба теневого копирования томов , но Robocopy ее не использует. Следовательно, Robocopy не подходит для резервного копирования томов операционной системы. Однако отдельная утилита типа ShadowSpawn [13] (по лицензии MIT) или DiskShadow [14] (входит в состав Windows Server 2008 ), можно использовать заранее для создания теневой копии данного тома, которую Robocopy затем может создать резервную копию.
- Версии Robocopy в системах старше Windows Vista не отражаются должным образом. Они игнорируют измененные атрибуты безопасности ранее зеркалированных файлов. [15] [16]
- При указании
/MT[:n]
опция включения многопоточного копирования,/NP
опция отключения отчетности о проценте выполнения файлов игнорируется. По умолчанию коммутатор MT обеспечивает 8 потоков. n — это количество потоков, которое вы указываете, если не хотите использовать значение по умолчанию. [17]
графический интерфейс
[ редактировать ]Хотя Robocopy сам по себе является инструментом командной строки, Microsoft TechNet предоставила интерфейс с графическим интерфейсом под названием Robocopy GUI. Он был разработан Дерком Бенишем, системным инженером из группы MSN Search в Microsoft, и требовал .NET Framework 2.0. [18] Он включал копию Robocopy версии XP026. Он больше не доступен у Microsoft, но его можно загрузить с помощью -архива Интернет Wayback Machine . [19]
Для Robocopy существуют графические интерфейсы сторонних производителей:
- Графический интерфейс RoboCopy от PC Assist Software v3.0 (включает планирование заданий) (19 апреля 2024 г.) [20]
- ChoEazyCopy от Cinchoo, простой и мощный графический интерфейс RoboCopy v2.0.0.1 (11 марта 2022 г.) [21]
- «Easy RoboCopy», последняя версия 1.0.16, выпущенная 11 января 2022 г. [22]
- Версия WinRoboCopy 1.3.5953.40896 выпущена 19 апреля 2016 г. [23]
- RoboCop RoboCopy, скин графического интерфейса Robocopy и генератор сценариев с мониторингом прогресса, 10 сентября 2015 г. [24]
- Программа от SH-Soft, также называемая «Robocopy GUI» v1.0.0.24 (8 октября 2005 г.). [25]
Кен Тамару из Microsoft разработал программу копирования с функциональностью, аналогичной Robocopy, под названием RichCopy . Ее выпуск был прекращен в 2010 году. Она не основана на Robocopy и не требует .NET Framework. [26]
Версии
[ редактировать ]Все версии Robocopy сохраняют номер версии и дату выпуска в заголовке исполняемого файла, который можно просмотреть с помощью проводника или PowerShell . Некоторые из них (не все) сообщают номера своих версий в текстовом выводе.
Версия продукта | Версия файла | Год | В комплекте с |
---|---|---|---|
1.54 | — | 1996 | Windows NT 4.0 Ресурсный комплект |
1.70 | — | 1997 | Ресурсный комплект Windows NT |
1.71 | 4.0.1.71 | 1997 | Ресурсный комплект Windows NT |
1.95 | 4.0.1.95 | 1999 | Ресурсный комплект Windows 2000 |
1.96 | 4.0.1.96 | 1999 | Ресурсный комплект Windows 2000 |
XP010 | 5.1.1.1010 | 2003 | Ресурсный комплект Windows 2003 |
XP026 | 5.1.2600.26 | 2005 | Графический интерфейс Робокопи v.3.1.2 |
XP027 | 5.1.10.1027 | 2008 | Windows Vista , Сервер 2008 , 7 , 2008 R2 |
6.1 | 6.1.7601 | 2009 | КБ2639043 |
То же, что и Windows | Windows 8 и более поздние версии, Windows Server 2012 и более поздние версии |
См. также
[ редактировать ]- Список программ для копирования файлов
- Командная строка
- графический интерфейс
Ссылки
[ редактировать ]- ^ «25 июля 2024 г. — KB5040527 (сборки ОС 22621.3958 и 22631.3958) Предварительная версия» . Поддержка Майкрософт . Майкрософт .
- ^ «АМА с Дэйвом Пламмером, создателем диспетчера задач» . Реддит.com . 18 декабря 2020 г. Проверено 19 декабря 2020 г.
- ^ «Robocopy.exe — надежная утилита копирования файлов — версия XP010» (PDF) . Майкрософт . 2003.
Копии в режиме резервного копирования [...] позволяют вам копировать некоторые файлы в качестве оператора резервного копирования, которые вы не сможете скопировать как обычный пользователь.
- ^ «Группы по умолчанию» . Майкрософт.
Операторы резервного копирования [...] Члены этой группы могут создавать резервные копии и восстанавливать все файлы [...] независимо от своих индивидуальных разрешений на эти файлы.
- ^ Льюис, Дик (15 ноября 2004 г.). «Часто задаваемые вопросы по Robocopy XP010» . Windows ИТ-специалист . Пентон Медиа. п. 2. Архивировано из оригинала 9 октября 2012 года.
- ^ Холлидей, Грант (7 декабря 2009 г.). «Многопоточное автоматическое копирование для более быстрого копирования» . Блог Гранта Холлидея . Майкрософт . Архивировано из оригинала 13 августа 2018 года.
- ^ Лян, Хан; Цзоу, Люси; Сюй, Симонкс (23 февраля 2023 г.). «Коды возврата, используемые утилитой Robocopy в Windows Server 2008 или Windows Server 2008 R2» . Устранение неполадок Windows-сервера . Microsoft – через Microsoft Learn .
- ^ Беркувер, Сандер (7 сентября 2020 г.). «RoboCopy поддерживает копирование файлов по SMB со сжатием в Windows Server 2019 и более поздних версиях» . www.dirteam.com . Проверено 14 февраля 2021 г.
- ^ Смит, Рассел (27 ноября 2020 г.). «Сжатие SMB снижает пропускную способность и сокращает время копирования в Windows Server и Azure» . Петри .
- ^ «Робокопия» . Майкрософт Технет . 7 июня 2020 г.
- ^ «Робокопия» . Документы Майкрософт . Майкрософт . 31 октября 2016 года . Проверено 14 января 2019 г.
- ^
«Функция CreateFile» . Разработка приложений для Windows . Microsoft – через Microsoft Learn .
FILE_SHARE_READ [...] Разрешает последующие операции открытия файла или устройства для запроса доступа на чтение. В противном случае другие процессы не смогут открыть файл или устройство, если они запросят доступ на чтение.
- ^ «Порождение теней» . Крейг Андера . Проверено 14 июля 2015 г.
ShadowSpawn.exe — это инструмент с открытым исходным кодом, лицензированный MIT, который создает теневые копии и управляет ими.
- ^ «Тень диска» . Microsoft TechNet . Проверено 06 марта 2013 г.
DiskShadow.exe — это инструмент, который предоставляет функциональные возможности службы теневого копирования томов (VSS).
- ^ «Компромисс Microsoft Robocopy» . ЗДНет. 04 августа 2008 г. Архивировано из оригинала 17 марта 2010 года . Проверено 11 ноября 2012 г.
- ^ «Уродливая ошибка в Robocopy — игнорирование безопасности на уровне файлов — блог Мартина Зугека» . msmvps.com. 3 марта 2008 г. Проверено 11 ноября 2012 г.
- ^ «Опция /MT Robocopy отключает опцию /NP» . Microsoft TechNet. 13 декабря 2009 г. Проверено 26 февраля 2014 г.
- ^ Джошуа Хоффман (ноябрь 2006 г.). «Графический интерфейс утилиты Spotlight Robocopy» . Журнал ТехНет . Корпорация Microsoft и CMP Media, LLC . Проверено 17 июля 2008 г.
- ^ «Доступен ли еще графический интерфейс Microsoft Robocopy» . Windows TenForums . Проверено 2 мая 2022 г.
- ^ Роуз, Даррен. «Программное обеспечение PC Assist — графический интерфейс RoboCopy» . www.pcassistsoftware.co.uk . Проверено 8 марта 2024 г.
- ^ Синчу (11 марта 2022 г.). «CchoEazyCopy от Cinchoo» . Гитхаб .
- ^ «Легкая Робокопия» . ТрибблСофт . Проверено 2 мая 2022 г.
- ^ «WinRoboCopy — Программное обеспечение UpWay2Late.com» . Upway2late.com . Проверено 11 ноября 2012 г.
- ^ Turnsoft (10 сентября 2015 г.). «Робокоп Робокопия» . СоурсФордж .
- ^ «SH-RoboCopy GUI» . Ш-Софт . Проверено 23 ноября 2012 г.
- ^ Хоффман, Джошуа (ноябрь 2006 г.). «Бесплатная утилита: RichCopy, расширенная альтернатива RoboCopy» . Журнал ТехНет . Корпорация Microsoft и CMP Media, LLC . Проверено 17 июля 2008 г.
Внешние ссылки
[ редактировать ]- Официальная документация
- Документация Microsoft Robocopy
- Краткая документация Robocopy по библиотеке Microsoft TechNet
- Официальные загрузки
- Загрузка Robocopy ( загрузка больше не доступна ) (версия XP010) в составе Windows Server 2003 Resource Kit Tools. Включает 35-страничную документацию «robocopy.doc».
- Загрузка графического интерфейса пользователя Robocopy ( загрузка больше не доступна ) (версия 3.1.2.0) в журнале Microsoft TechNet Magazine
- Другой