Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как копировать только измененные файлы


Использовать Robocopy для копирования только измененных файлов?

вы можете использовать robocopy для копирования файлов с флагом архива и сброса атрибута. Используйте командную строку /M, это мой сценарий резервного копирования с несколькими дополнительными трюками.

этот скрипт должен NirCmd инструмент для перемещения мыши, чтобы моя машина не засыпала. Скрипт использует lockfile, чтобы сообщить, когда сценарий резервного копирования завершен и mousemove.bat скрипт закрыт. Эту часть вы можете опустить.

другое 7-Zip инструмент для разделения virtualbox файлы меньше, чем файлы 4GB, моя папка назначения по-прежнему FAT32, поэтому это обязательно. Я должен использовать диск NTFS, но еще не преобразовал резервные диски.

резервное копирование-robocopy.летучая мышь!--15-->

@REM https://technet.microsoft.com/en-us/library/cc733145.aspx @REM http://www.skonet.com/articles_archive/robocopy_job_template.aspx set basedir=%~dp0 del /Q %basedir%backup-robocopy-log.txt set dt=%date%_%time:~0,8% echo "%dt% robocopy started" > %basedir%backup-robocopy-lock.txt start "Keep system awake" /MIN /LOW cmd.exe /C %basedir%backup-robocopy-movemouse.bat set dest=E:\backup call :BACKUP "Program Files\MariaDB 5.5\data" call :BACKUP "projects" call :BACKUP "Users\Myname" :SPLIT @REM Split +4GB file to multiple files to support FAT32 destination disk, @REM splitted files must be stored outside of the robocopy destination folder. set srcfile=C:\Users\Myname\VirtualBox VMs\Ubuntu\Ubuntu.vdi set dstfile=%dest%\Users\Myname\VirtualBox VMs\Ubuntu\Ubuntu.vdi set dstfile2=%dest%\non-robocopy\Users\Myname\VirtualBox VMs\Ubuntu\Ubuntu.vdi IF NOT EXIST "%dstfile%" ( IF NOT EXIST "%dstfile2%.7z.001" attrib +A "%srcfile%" dir /b /aa "%srcfile%" && ( del /Q "%dstfile2%.7z.*" c:\apps\commandsza.exe -mx0 -v4000m u "%dstfile2%.7z" "%srcfile%" attrib -A "%srcfile%" @set dt=%date%_%time:~0,8% @echo %dt% Splitted %srcfile% >> %basedir%backup-robocopy-log.txt ) ) del /Q %basedir%backup-robocopy-lock.txt GOTO :END :BACKUP TITLE Backup %~1 robocopy.exe "c:\%~1" "%dest%\%~1" /JOB:%basedir%backup-robocopy-job.rcj GOTO :EOF :END @set dt=%date%_%time:~0,8% @echo %dt% robocopy completed >> %basedir%backup-robocopy-log.txt @echo %dt% robocopy completed @pause 

резервное копирование-robocopy-работа.rcj

:: Robocopy Job Parameters :: robocopy.exe "c:\projects" "E:\backup\projects" /JOB:backup-robocopy-job.rcj :: Source Directory (this is given in command line) ::/SD:c:\examplefolder :: Destination Directory (this is given in command line) ::/DD:E:\backup\examplefolder :: Include files matching these names /IF *.* /M :: copy only files with the Archive attribute and reset it. /XJD :: eXclude Junction points for Directories. :: Exclude Directories /XD C:\projects\bak C:\projects\old C:\project\tomcat\logs C:\project\tomcat\work C:\Users\Myname\.eclipse C:\Users\Myname\.m2 C:\Users\Myname\.thumbnails C:\Users\Myname\AppData C:\Users\Myname\Favorites C:\Users\Myname\Links C:\Users\Myname\Saved Games C:\Users\Myname\Searches :: Exclude files matching these names /XF C:\Users\Myname\ntuser.dat *.~bpl :: Exclude files with any of the given Attributes set :: S=System, H=Hidden /XA:SH :: Copy options /S :: copy Subdirectories, but not empty ones. /E :: copy subdirectories, including Empty ones. /COPY:DAT :: what to COPY for files (default is /COPY:DAT). /DCOPY:T :: COPY Directory Timestamps. /PURGE :: delete dest files/dirs that no longer exist in source. :: Retry Options /R:0 :: number of Retries on failed copies: default 1 million. /W:1 :: Wait time between retries: default is 30 seconds. :: Logging Options (LOG+ append) /NDL :: No Directory List - don't log directory names. /NP :: No Progress - don't display percentage copied. /TEE :: output to console window, as well as the log file. /LOG+:c:\apps\commands\backup-robocopy-log.txt :: append to logfile 


резервное копирование-robocopy-movemouse.летучая мышь!--15-->

@echo off @REM Move mouse to prevent maching from sleeping @rem while running a backup script echo Keep system awake while robocopy is running, echo this script moves a mouse once in a while. set basedir=%~dp0 set IDX=0 :LOOP IF NOT EXIST "%basedir%backup-robocopy-lock.txt" GOTO :EOF SET /A IDX=%IDX% + 1 IF "%IDX%"=="240" ( SET IDX=0 echo Move mouse to keep system awake c:\apps\commands\nircmdc.exe sendmouse move 5 5 c:\apps\commands\nircmdc.exe sendmouse move -5 -5 ) c:\apps\commands\nircmdc.exe wait 1000 GOTO :LOOP 


command-line - Robocopy для копирования только новых папок и файлов

Мои простые команды, которые прекрасно работают:

RoboCopy.exe "\\\SourceServer\Folder" "X:\WEB" /copy:datso /mir /fft /r:0 /w:0 /secfix /mt:20 /xo /xf thumbs.db /log+:X:\TON-FS4.log /nc /ns /np /ndl /nfl /tee 

Объяснение:X:\WEB - моя папка назначения.

Переключатели:
/copy:datso: Определяет свойства файла для копирования:
(d: данные, a: атрибуты, t: метки времени, s: список управления доступом NTFS (ACL), o: информация о владельце)
/mir: отражает дерево каталогов
/ FFT: Предполагается время файла FAT, важно при копировании данных
/ r: 0: количество повторных попыток при неудаче
/ w: 0: время ожидания между попытками 0 секунд
/ secfix: исправляет безопасность файлов для всех файлов, даже пропущенных
/ MT: 20: создает 20 потоков копий
/ xo: Исключает старые файлы - если целевой файл существует и имеет ту же дату или новее, чем исходный - не пытайтесь перезаписать его.
/ xf thumbs.db: Исключая файлы "thumbs.db" (путь), здесь можно использовать дикие символы (например: * .mp3)
/log+:filename.log: записывает вывод состояния в указанный файл журнала.
(добавляет к существующему файлу журнала) или использовать новый журнал просто /log:filename.log

Не этот конкретный случай, но я надеюсь, что это поможет кому-то, когда они будут выполнять миграцию файловых серверов.

Robocopy и примеры использования с параметрами

Доброе времени суток. Уважаемые читатели и гости, крупного IT блога Pyatilistnik.org, занимающего в рейтинге Яндекс.Радар 2500 место, среди всех сайтов России. В прошлый раз, мы с вами решили проблему со сбоем запроса устройства. Сегодня я не хочу рассматривать новые ошибки, а поделюсь своим опытом использования утилиты Robocopy, приведу примеры использования, поговорю о параметрах утилиты и покажу, как у Robocopy использовать графический интерфейс (GUI). Данной программкой просто обязан пользоваться каждый системный администратор, ну или хотя бы знать. о ее существовании, лично у меня она находится на почетном месте в моем наборе системного инженера.

Что такое robocopy (Robust File Copy Utility)

Утилита Robocopy  (Robust File Copy Utility) - это специализированное средство, в задачи которого входит тонкая настройка процесса копирования, синхронизации, удаления и переноса файлов и папок, между дисками компьютера, компьютерами, сетевыми шарами и лесами, с сохранением атрибутов, прав разрешений и многое другое.

Robocopy за счет своих алгоритмов и многопоточности позволяет проводить копирование или синхронизацию одних файловых ресурсов с другими в десятки раз быстрее, чем обычное копирование средствами проводника Windows.

Данное средство, очень часто используется в задачах системного администратора, по переносу сетевых шар и файловых ресурсов, и в сценариях синхронизации данных.

Если обратиться к Википедии (https://ru.wikipedia.org/wiki/Robocopy), то там вы обнаружите, что она создавалась как средство репликации и шла в составе такого известного комплекса инструментов, как Windows Resource Kit.

Версии утилиты Robocopy

Первая версия robocopy появилась в 1997 году в составе инструментов Windows Resource Kit. На текущий момент самой свежей версией является 10.0.17763.1 входящей в состав Windows 10 1809, табличку в Википедии я подправил (https://en.wikipedia.org/wiki/Robocopy)

Где лежит Robocopy в системе?

Основной исполняемый файл Robocopy.exe располагается по пути C:\Windows\System32. Утилита очень компактная и весит всего 132 килобайта, но это не уменьшает ее мощи и функционала.

Где скачать утилиту Windows Robocopy

Начиная с Windows 7, данная программулька является ее составной частью, и я уже выше показал, что она лежит в папке C:\Windows\System32, если по каким-то причинам у вас в ней нет файла robocopy.exe, то у вас есть несколько вариантов его скачать.

  • Первый вариант, это скопировать его из другой системы
  • Второй вариант, это загрузить средство Windows Server 2003 Resource Kit Tools по ссылке (https://www.microsoft.com/en-us/download/details.aspx?id=17657). В состав этого пакета входит утилита Robust File Copy Utility.

Далее полученный файла robocopy, вам необходимо разархивировать данный файл, для этого у вас должен быть архиватор winrar или 7-zip. Через правый клик извлекаем его содержимое.

Далее 7-Zip-ом распаковываем msi пакет rktools.msi.

Перейдите в папку rktools, там вас будет ждать файл robocopy.exe, который вы можете скачать куда угодно.

Возможности утилиты Robocopy (Robust File Copy Utility)

И так давайте разбираться, какими функциональными возможностями обладает данная утилита. Как я и писал выше Robocopy умеет:

  • Производить копирование файлов и папок
  • Производить синхронизацию файлов и папок
  • Копировать по расширениям файлов
  • Переносить права на папки и файлы
  • Копирование и перенос файлов по датам и за нужный период
  • Удалять файлы и папки

Чтобы посмотреть все ключи и их назначение, нам нужно открыть командную строку, желательно от имени администратора и ввести команду:

У вас появится небольшая справка, в которой вам отобразят конструкцию построения команд и несколько примеров реализации. Чтобы вывести все доступные параметры Robocopy вам необходимо ввести команду:

Тут ключи и параметры будут разбиты на несколько подкатегорий:

  1. Параметры копирования
  2. /COPY:флаги копирования
  3. /DCOPY:флаги копирования
  4. Параметры выбора файлов
  5. Параметры повторных попыток
  6. Параметры ведения журнала
  7. Параметры задания
  8. Комментарии

Ключи параметров копирования:

  • /S - данный параметр позволит вам произвести копирование вложенных папок, за исключением пустых. Очень удобно, чтобы не перетаскивать не используемые каталоги
  • /E - данный ключ, альтернатива параметру /S, так как он позволит скопировать вложенные папки, в том числе и пустые.
  • /LEV:n - данный параметр копирования Robocopy позволит вам скопировать n-число уровней у текущего каталога папок. Предположим у вас есть папка, которая включает в себя еще 10 подпапок, задав n равное 5, вы скопируете структуру, только первых пяти верхних каталогов, а все, что ниже не будет затронуто.
  • /Z - параметр позволяет возобновлять копирование в случае какого-то сбоя
  • /B - Копирование файлов в режиме архивирования.
  • /ZB - совмещение параметров Robocopy.exe, в данном случае вначале будет использоваться режим с возобновлением, но если доступа к каким либо файлам не будет, то утилита переключиться в режим архивации.
  • /J - данный параметр Robocopy.exe используется при копировании крупного размера файлов, где применяется небуферезированный ввод-вывод
  • /EFSRAW - будет произведено копирование всех зашифрованных файлов в режиме EFS RAW

Ключи /COPY:флаги копирования

Ключ /COPY это один из базовых ключей, который вы будите применять в своих сценариях синхронизации или копирования, он переносит (Флаги копирования: D=Данные, A=Атрибуты, T=Метки времени). (S=Безопасность=NTFS ACLs, O=Сведения о владельце, U=Сведения аудита)

  • /SEC - данный флаг позволит вам скопировать файлы и каталоги вместе с их параметрами безопасности (эквивалентно /COPY:DATS)
  • /COPYALL - данный ключ скажет утилите Robocopy.exe, что нужно при копировании перенести все сведения о файле (Аналог /COPY:DATSOU)
  • /NOCOPY - данный ключ скажет, что не нужно копировать никаких сведений о файле (полезно с параметром /PURGE).
  • /SECFIX - данный ключ будет полезен при синхронизации, когда нужно перезаписать и исправить параметры безопасности на всех папках и файлах. Простой пример, вы сделали первое копирование одного каталога с файлами в другой, и перенесли параметры безопасности (NTFS), в какой-то момент в исходном каталоге у вас поменялись разрешения на некоторые файлы, и если вы произведете синхронизацию, без этого ключа, то эти новые права доступа не перенесутся в новое место, поставив ключ /SECFIX, вы этого избежите и все будет обновлено.
  • /TIMFIX - этот флаг позволит исправить атрибуты времени у всех файлов, в том числе и пропущенных
  • /PURGE - позволит удалить каталоги и файлы в папке назначения, которые уже не существуют в источнике.
  • /MIR - в данном случае будет создана полная копия (зеркальная) источника в назначении, аналогично выполнению Robocopy.exe с ключами /E /PURGE
  • /MOV - данный ключ позволит перемещать файлы (удаление из источника после копирования, я бы назвал это аналогов вырезать в Windows)
  • /MOVE - похоже на ключ /MOV, но уже вырезаться будут файлы с папками.
  • /A+:[RASHCNET] - данный флаг позволяет вам добавлять атрибуты к скопированным файлам
  • /A-:[RASHCNET] - данный флаг сообщает утилите Robocopy, что нужно удалить заданные атрибуты у скопированных файлов
  • /CREATE - данный флаг создает дерево каталогов и файлы нулевой длины
  • /FAT - Создать файлы назначения только в формате 8.3 FAT
  • /256 - отключает поддерживание длинных путей свыше 256 знаков, на практике не встречал таких сценариев.
  • /MON:n - robocopy в данным флагом в параметрах, будет производить мониторинг источника, и перезапустит выполнение после n изменений
  • /MOT:m - Наблюдать за источником; перезапустить через m минут, если произошли изменения.
  • /RH:hhmm-hhmm - тут вы говорите для Robocopy.exe в какое время нужно производить запуск, в какой момент будет запущено задание копирования файлов.
  • /PF - Проверять часы запуска по файлам (не по проходам)
  • /IPG:n - данный ключ поможет снизить нагрузку на сеть, когда у вас не очень хороший канал, n интервал задержки в миллисекундах.
  • /SL - копирует сами символические ссылки, за место копирования целевых объектов, на которые эти селинки ссылаются.
  • /MT[:n] - использование многопотокового режима, позволяет существенно увеличить скорость копирования, за счет использования процессорных моoностей системы. n может иметь значение от 1 до 128 потоков. Нельзя использовать с параметрами /IPG и /EFSRAW. Для повышения производительности перенаправьте вывод с помощью параметра /LOG.

Ключи /DCOPY:флаги копирования

Данный раздел флагов отвечает за то, что копировать для каталогов (D=Данные, A=Атрибуты, T=Метки времени)

  • /NODCOPY - не производить копирование любых сведений о каталоге
  • /NOOFFLOAD - Robocopy будет копировать файлы без использования механизма разгрузки копий Windows

Параметры выбора файлов

Утилита Robocopy очень тонко позволяет производить тонкую фильтрацию файлов при копировании, для этого есть огромное количество ключей и флагов.

  • /A - флаг задает копирование файлов с атрибутом "Архивный"
  • /M - задает копирование файлов с атрибутом "Архивный" и потом его сбросить на конечной стороне
  • /IA:[RASHCNETO] - переносить файлы на которых установлены заданные атрибуты (объявленные заранее)
  • /XA:[RASHCNETO] - при копирование будут исключены файлы с объявленными атрибутами
  • /XF file [файл] - позволяет исключать файлы, у которых заданные имена, пути и подстановочные знаки
  • /XD dirs [папки] - исключает каталоги, с заданными именами и путями
  • /XC - robocopy не копирует измененные файлы
  • /XN - исключить более поздние файлы
  • /XO - Исключить более ранние файлы
  • /XX - Исключить дополнительные файлы и папки
  • /XL - Исключить отдельно расположенные файлы и папки
  • /IS - Включить те же файлы
  • /IT - Включить оптимизированные файлы
  • /MAX:n - Robust File Copy Utility исключит файлы, у которых размер более n-байт, можно это назвать максимальным размеров копируемых файлов
  • /MIN:n - данный параметр Robocopy установит минимальный размер копируемого файла, позволит исключить файлы у которых n-байт меньше заданного
  • /MAXAGE:n - тут мы задаем максимальный возраст файлов. Мы исключим при копировании файлы, у которых возраст больше n дней
  • /MINAGE:n - тут мы задаем минимальный возраст файлов. Мы исключим при копировании файлы, у которых возраст меньше n дней
  • /MAXLAD:n - Наиболее поздняя дата последнего обращения. Будут скопированы данные, которые не использовались с даты n
  • /MINLAD:n - Наиболее ранняя дата последнего обращения. Robocopy исключит файлы, которые были использованы после даты указанной в n. (Если n < 1900, то n = n дней, в противном случае n — дата в формате ДД.ММ.ГГГГ)
  • /XJ - отключение точек соединения, которые по умолчанию включаются
  • /FFT - Использовать время файлов FAT (двухсекундная точность)
  • /DST - Тут задается. будет ли Robocopy учитывать одно часовую разницу при переходе на летнее время
  • /XJD - Исключить точки соединения для папок
  • /XJF - Исключить точки соединения для файлов

Ключи параметров повторных попыток

  • /R:n - Число повторных попыток для неудавшихся копий, по умолчанию — 1 миллион.
  • /W:n - Тут вы зададите период ожидания между повторными попытками: по умолчанию это 30 секунд.
  • /REG - Сохранить /R:n и /W:n в реестре как параметры по умолчанию.
  • /TBD - Ждать, пока будут определены имена общих ресурсов (ошибка повторной попытки 67).

Ключи параметров ведения журнала

  • /L - получить только список, в данном случае Robust File Copy Utility файлы не копирует, не удаляет, не помечается метками времени.
  • /X - Сообщать обо всех дополнительных файлах, а не только о выбранных.
  • /V - Подробный вывод с указанием пропущенных файлов.
  • /TS - Включать в вывод меток времени исходных файлов.
  • /FP - Включать в вывод полные пути файлов.
  • /BYTES - Печатать размеры файлов в байтах.
  • /NS - Режим без размера, у вас не будет заноситься информация, о размерах файлов в журнал.
  • /NC - Режим без класса, не заносить в журнал классы файлов.
  • /NFL - Режим без списка файлов, не заносить в журнал имена файлов.
  • /NDL - Режим без списка папок, не заносить в журнал имена папок.
  • /NP - Режим без хода процесса, не отображать число скопированных процентов.
  • /ETA - Показывать оценку времени окончания копирования файлов.
  • /LOG:файл - Производить запись состояния в файл журнала (перезаписывать существующий журнал).
  • /LOG+:файл - Производить запись состояния в файл журнала (добавлять к существующему журналу).
  • /UNILOG:файл - Производить запись состояния в файл журнала в формате Юникод (перезаписывать существующий журнал).
  • /UNILOG+:файл - Производить запись состояния в файл журнала в формате Юникод (добавлять к существующему журналу).
  • /TEE - Направлять выходные данные в окно консоли и в файл журнала.
  • /NJH - Без заголовка задания.
  • /NJS - Без сведений о задании.
  • /UNICODE - Состояние вывода в формате Юникод.

Ключи параметров задания

  • /JOB:имя_задания - Взять параметры из указанного файла задания.
  • /SAVE:имя_задания - Сохранить параметры в указанный файл задания
  • /QUIT - Выйти после обработки командной строки (для просмотра параметров).
  • /NOSD - Не указывается исходная папка.
  • /NODD - Не указывается папка назначения.
  • /IF - Включить следующие файлы.

Как видите у утилиты Robocopy много параметров и ключей, и я рад, что Microsoft не забросила свою полезную программку, которую я полюбил еще в Windows Server 2003 Resource Kit Tools.

Более подробно почитать, о параметрах Robocopy вы можете почитать на сайте Microsoft (https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc733145(v=ws.10))

Варианты и примеры использования на практике

Теперь когда мы с вами разобрали параметры Robocopy, остается научиться их использовать и применять в ваших сценариях. Сценариев может быть огромное количество. например:

  • Нужно скопировать только измененные файлы
  • Нужно скопировать только новые файлы
  • Нужно скопировать только папки или файлы с определенным расширением, например, PDF
  • Нужно копировать файлы из локального расположения в сетевое

Самый простой пример использования Robocopy, это простое копирование одного каталога в другой в рамках одного диска. Предположим мне нужно продублировать содержимое папки C:\Temp в C:\Test_robocopy

В командной строке пишем вот такую команду

robocopy C:\Temp C:\Test_robocopy /E

Напоминаю параметр /E копирует файлы и папки, в том числе и пустые. Сам процесс выглядит поэтапным копированием в один поток файлов.

По окончании выполнения команды вы увидите сводную таблицу, в которой будет статистика по каталогам, файлам, времени, пропущенным файлам и скорости.

Но при таком использовании robocopy, вы на каталоге назначения получите файлы с уже другими правами на них. Видно это в свойствах.

Чтобы скопировать и исправить на файлах в каталоге назначения все права доступа (перезаписав текущие и подставив туда из источника), вам необходимо выполнить вот такую команду:

robocopy C:\Temp C:\Test_robocopy /E /COPYALL /SECFIX

Ключ /COPYALL переносит все сведения о файле, а параметр этого ключа /SECFIX исправит все сведения на вкладке "Безопасность".

Если у вас не перенеслись новые права на файлы, то со 100% вероятностью у вас консоль cmd в которой вы запускаете сценарии Robocopy, работает не от имени администратора, старайтесь всегда делать из под данного режима

Напомню, что есть ключ /MIR параметра robocopy, он делает зеркальную копию каталогов, вот его пример использования:

robocopy C:\Temp C:\Test_robocopy /MIR /Z

В момент такого зеркального копирования, утилита Robust File Copy Utility, сделает на конечной стороне полную копию источника, и со всеми списками доступа (ALC) на вкладке безопасности, так же будут перенесены все атрибуты данных. При повторном запуске, будут перенесены, только изменения.

Чтобы осуществить перенос данных на сетевую шару, вы можете использовать вот такую конструкцию:

При простом копировании robocopy C:\Temp \\c-10-5210\Test_robocopy /E

Тот же пример с синхронизацией прав robocopy C:\Temp \\c-10-5210\Test_robocopy /E /COPYALL /SECFIX

Ну и пример использования при зеркалировании каталоговrobocopy C:\Temp \\c-10-5210\Test_robocopy /MIR /Z

Теперь представим задачу, что вам необходимо скопировать файлы, которые были изменены за последние 5 дней, выполняем вот такую команду:

robocopy C:\Temp \\c-10-5210\Test_robocopy /MAXAGE:5

Если нужно исключить сегодняшний день, то нужно добавить ключик /MINAGE:1

robocopy C:\Temp \\c-10-5210\Test_robocopy /MAXAGE:5 /MINAGE:1

Если стоит задача скопировать файлы и исключить из все, возраст которых меньше 1 день, то будет выглядеть вот так:

robocopy C:\Temp \\c-10-5210\Test_robocopy /MINAGE:1

Вот вам пример использования Robocopy, где происходит вырезание файлов в источнике и перенос их в каталог назначения, со всеми правами и атрибутами на файл, вместо сетевого пути, может быть и локальный, как в первом примере.

Иногда может возникнуть задача, перенести все, кроме срытых файлов системы, для этого сценария Robust File Copy Utility имеет ключ /XA:H

robocopy C:\Temp C:\Test_robocopy /E /XA:H

Можно переносить файлы с пометкой "Только для чтения", через такую структуру

Копирование данных только с определенными форматами, например, exe и mp3, и не копировать пустые папки.

robocopy C:\Temp C:\Test_robocopy *.exe *.mp3 /S

Также можно делать выборку по размеру файлов, например, мне нужно скопировать, все, что больше 100 килобайт и меньше 100 мегабайт.

robocopy C:\Temp C:\Test_robocopy /E /MAX:102400000 /MIN:102400

При копировании данных можно исключить не нужные вам каталоги, вот пример команды, где исключается папка CrystalDiskMarkPortable:

robocopy C:\Temp C:\Test_robocopy /MIR /XA:SH /XD CrystalDiskMarkPortable /XJD

Что еще полезного умеет Robocopy, например, автоматическое копирование папок по расписанию да и еще не в один поток. Что такое поток копирования, по сути когда вы в проводнике Windows, запускаете простое копирование, то у вас в диспетчере задач, появляется задача "Проводник", которая последовательно запускает процесс и перенос данных. Когда же Robocopy делает таких потоков больше, то у вас сам процесс идет в разы быстрее, но затрачиваются больше процессорных мощностей, но в виду того, что современные процессору зачастую не дозагружаются даже на 20-30%, то глупо было бы это не использовать, особенно с серверными CPU.

Вот примеры использования команд с заданием потоков, напоминаю, что их может быть от 1 до 128. Особенный прирост скорости вы ощутите в моменты, когда у вас будет огромное количество мелких файлов.

robocopy C:\Temp \\c-10-5210\Test_robocopy /sec /E /Z /XO /R:3 /W:5 /MT:32

Если повторно запустить данную команду, то она будет копировать и синхронизировать только измененные файлы, так называемые дельты, очень удобно при актуализации каталогов, резервных копий

Еще полезной командой будет, когда вам нужно обновить только ACL (Вкладку безопасность на всех файлах, без их повторного копирования)

robocopy <source /> /secfix /xo /xn /xc

Ошибки работы Robocopy

У данной утилиты, конечно же могут возникать и проблемы, но чаще всего они не значительные и решаются очень просто, например вы можете встретить ошибку "ОШИБКА 5 (0x00000005) Копирование параметров безопасности NTFS для конечного файла". Данная ошибка гласит, что у вас не хватает прав на перенос параметров и прав на файлы, все дело в том, что ваша cmd-консоль запущена в режиме администратора.

Таблица кодов ошибок, которые появляются в Robocopy

Вот вам подробная, сводная таблица в которой отражены все коды ошибок от 0-8 в данной утилите и дано подробное описание в чем проблема. (Подробнее на https://support.microsoft.com/ru-ru/help/954404/return-codes-that-are-used-by-the-robocopy-utility-in-windows-server-2)

Автоматическое копирование папок по расписанию с Robocopy

Чем хороша данная утилита, так это тем, что с ее помощью можно писать скрипты и сценарии, например в том же PowerShell. Все выше описанные команды, вы можете поместить в текстовый файл (txt), затем сменить ему расширение на bat или cmd, чтобы он стал исполняемым и далее использовать его, либо в групповой политике, или же создать с помощью него задачу в "Планировщике заданий Windows", хотя можно и прямо в нем вписывать все ключи и параметры Robocopy. Про создание задач в планировщике заданий Windows читайте по ссылке. Обратите внимание, что ключи я вписываю в поле аргументы.

Примеры скриптов при резервном копировании или синхронизации. Предположим у вас есть рабочая папка и вы бы хотели ее синхронизировать с другой или сетевой шарой, как я и писал выше вы делаете исполняемый файл или создаете задание в планировщике, вот пример команды, которая перенесет файлы, будет их синхронизировать, перенесет все атрибуты и права, а так же будет их обновлять. Папка C:\Test, это источник, а вот каталог \\c-10-5210\share\Test, уже назначения.

robocopy C:\Test\ \\c-10-5210\share\Test /sec /E /Z /XO /SECFIX /R:3 /W:5 /MT:32

если по каким-то причинам вам нужно монтировать перед эти диск, то будет выглядеть вот так:

net use z: /delete

net use z: \\c-10-5210\share\

robocopy C:\Test\ Z:\ /sec /E /Z /XO /SECFIX /R:3 /W:5 /MT:32

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

Графический (GUI) интерфейс в Robocopy

С примерами утилиты Robocopy мы ознакомились, теперь предлагаю вам посмотреть для нее графическую оболочку, которая как ни странно есть, и я узнал, о ее существовании буквально недавно. Называется она RoboCopy GUI Utility ver. 3.1, к сожалению она использует robocopy.exe не самой последней версии, но все работает и в Windows 10 1809.

Скачать RoboCopy GUI Utility ver. 3.1 можно с официального сайта https://docs.microsoft.com/en-us/previous-versions/technet-magazine/cc160891(v=msdn.10) или у меня по ссылке с mail облака

После загрузки RoboCopy GUI Utility ver. 3.1, нам его необходимо установить. Запускаем исполняемый файл. Соглашаемся с лицензионным соглашением.

Утилита вам предложит указать каталог куда будут извлечены файлы.

Соглашаемся с извлечением.

В итоге вы получите вот такую структуру файлов. Запускаем setup.exe.

У вас появится тривиальный мастер установки GUI интерфейса для Robocopy. Нажимаем next.

Принимаем лицензионное соглашение "I gree"

Указываете будет ли утилита устанавливаться только для вас или для всех.

next.

Установка графического интерфейса для Robocopy завершено.

У вас на рабочем столе появится ярлык Microsoft Robocopy GUI. Запускаем его и посмотрим, что из себя представляет эта утилита.

Обзор RoboCopy GUI Utility ver. 3.1

Давайте я бегло покажу, что из себя представляет данная программа. Сам графический интерфейс очень простой, так и должно быть. На первой вкладке вы увидите два действия:

  1. Первое, это нужно через "Source Path выбрать, что мы будем копировать"
  2. Второе действие, это в "Target Path мы задаем, куда мы будем переносить данные, при желании вы можете смонтировать сетевой диск, через пункт "Map Drive""

На вкладке "Copy Options", вы увидите уже знакомые параметры использования Robocopy, тут есть и ключи /SEC для переноса прав и команда /MOVE, которую мы применяли для вырезания файлов и многое другое. Тут же вы задаете количество потоков копирования.

Вкладка "Drive Mapping" поможет присоединить сетевой диск, тут вы указываете ip-адрес или DNS имя сервера, и учетные данные для подключения.

Вкладка "Filters" позволит вам указать, что именно нужно переносить и сделать фильтрацию, например, не переносить файлы длина которых в имени составляет более 256 символов, или только txt файлы.

Вкладка "Logging" задает параметры ведения логирования вашего задания.

Вкладка "Monitoring Options" будет полезна для наблюдения за источником копирования, в случае проблем, все можно идентифицировать и перезапустить.

Аналоги утилиты Robocopy

Robust File Copy Utility не единственная утилита, которая позволяет копировать файлы, каталоги с атрибутами и правами, ее аналогами можно назвать утилиты:

Вот такая вот полезная и богатая функционалом утилита Robust File Copy Utility или Robocopy.exe, надеюсь, что данный материал был для вас полезен и вы им поделитесь в социальных сетях. А с вами был Семин Иван, автор и создатель IT блога Pyatilistnik.org.

Копирование только обновленных файлов » Отличник RU

Оцените статью

Если команда хсору используется для резервного копирования набора файлов и папок, ее придется регулярно запускать для поддержания актуального состояния резервной копии. В таком случае вряд ли захочется копировать те файлы, которые не были изменены. Чтобы заставить хсору копировать только те файлы, которые новее резервной копии, следует воспользоваться ключом /D. Тем самым будет сэкономлено и время, и сетевой трафик. Нужно будет также добавить ключ /R, чтобы хсору смогла вести запись поверх старых копий файлов с атрибутом «Только чтение». Ключ /Y позволяет хсору вести запись поверх старых файлов без вывода приглашения на подтверждение. Теперь подчиненные папки, но при этом реально копируются только те файлы, которые оказались новее уже скопированных в папку e:backup. Кроме этого сохраняются все атрибуты файлов. Ключ /D выполняет двойную функцию — его можно также использовать для указания даты, и хсору скопирует только те файлы, которые были созданы или изменены в указанный день или позже. Дополнительную информацию по данному вопросу можно найти в интерактивной справке.

Команда хсору не может скопировать файлы, которые используются прикладными программами, она не может также скопировать персональную информацию реестра, принадлежащую тому пользователю, который вошел в систему. Целесообразнее для проведения резервного копирования поместить команды хсору в пакетный файл, запускаемый из Планировщика заданий в то время, когда вероятность нахождения пользователей в системе ниже всего. При этом нужно воспользоваться ключом /С, чтобы заставить хсору продолжать работу даже в случае возникновения ошибок. Если кто-то припозднился и, к примеру, держит открытым файл документа, ключ /С позволяет хсору продолжить копирование других файлов и папок. Например, вы можете написать пакетный файл для копирования всех пользовательских папок Документы (Documents) в сетевую папку с помощью следующей команды: которая работает в Windows 7 и Vista.

Используем утилиту Robocopy. Примеры.

Используем Robocopy . Примеры.

Robocopy — это отличнейшая вещь, очень гибкий инструмент для копирования и даже бэкапа.  И самое интересное то,  что она поддерживает длинные пути файлов т.е. более 256 симоволов!!! Wiki: Это утилита командной строки для репликации (не просто копирования) каталогов (папок). Она была доступна как часть Windows Resource Kit и представлена как стандартный компонент Windows Vista, Windows 7 и Windows Server 2008. Поставляется компанией Microsoft «как есть» без гарантий и техподдержки.

Robocopy разработана для отказоустойчивого копирования каталогов и деревьев каталогов. Она обладает возможностью копирования всех (или выборочных) NTFS атрибутов и свойств, имеет дополнительный код для перезапуска при применении с сетевым соединением в случае его разрывов.

Все это необхожимо если вам нужно перенести целый каталог файлов с сервера со всеми настройками прав доступа в том числе и атрибутов времени создание файлов  или скопировать файлы исключив какие то файлы (по разным атрибутам или расширению) или папки. Также robocopy удобно использовать  в качестве программы для бэкапа файлов с компьютеров пользователей на сервер ( дальше на сервере работает добавочная архивация) — самое оптимальное решение.

Параметры копирования из robocopy /help

[spoiler show=»Показать текст»] — ROBOCOPY :: Robust File Copy for Windows
Применение:: ROBOCOPY источник назначение [файл [файл]…] [Параметры]
Источник:: Исходная папка (диск:\путь или \\сервер\общий ресурс\путь).
Назначение :: Конечная папка (диск:\путь или \\сервер\общий ресурс\путь).
Файл :: Копировать файлы (имена и подстановочные знаки: по умолчанию «*.*»).
::
:: Параметры копирования:
::
/S :: Копировать вложенные папки, кроме пустых.
/E :: Копировать вложенные папки, включая пустые.
/LEV:n :: Копировать только верхние n уровней исходного дерева папок.
/Z :: Копирование файлов с возобновлением.
/B :: Копирование файлов в режиме архивирования.
/ZB :: используется режим с возобновлением; если доступ запрещен, используется режим архивации.
/EFSRAW :: Копирование всех зашифрованных файлов в режиме EFS RAW.
/COPY: флаги копирования :: что копируется для файлов (по умолчанию /COPY:DAT).
(флаги копирования: D=Данные, A=Атрибуты, T=Метки времени).
(S=Безопасность=NTFS ACLs, O=Сведения о владельце, U=Сведения аудита).
/DCOPY:T :: Копирование меток времени папки.
/SEC :: Копировать файлы с параметрами безопасности (эквивалентно /COPY:DATS).
/COPYALL :: Копировать все сведения о файле (эквивалентно /COPY:DATSOU).
/NOCOPY :: Не копировать никаких сведений о файле (удобно использовать с параметром /PURGE).
/SECFIX :: Исправлять параметры безопасности для всех файлов, даже пропущенных.
/TIMFIX :: Исправлять атрибуты времени для всех файлов, даже пропущенных.
/PURGE :: Удалять файлы и папки назначения, которых больше не существует в источнике.
/MIR :: Создать зеркало дерева папок (эквивалентно /E с /PURGE).
/MOV :: Перемещать файлы (удаление из источника после копирования).
/MOVE :: Перемещать файлы и папки (удаление из источника после копирования).
/A+:[RASHCNET] :: Добавлять заданные атрибуты скопированным файлам.
/A+:[RASHCNET] :: Удалять заданные атрибуты из скопированных файлов.
/CREATE :: Создать только дерево папок и файлы нулевой длины.
/FAT :: Создать файлы назначения только в формате 8.3 FAT.
/256 :: Отключить поддержку длинных путей ( > 256 знаков).
/MON:n :: Наблюдать за источником; перезапустить после n изменений.
/MOT:m :: Наблюдать за источником; перезапустить через m минут, если произошли изменения.
/RH:hhmm-hhmm :: Часы запуска — время, когда можно запускать новое копирование.
/PF :: Проверять часы запуска по файлам (не по проходам).
/IPG:n :: Интервал между пакетами (мс) для снижения нагрузки на сеть при низкоскоростных подключениях.
/SL:: копирование самих символических ссылок вместо копирования целевого объекта этих ссылок.
::
:: Параметры выбора файлов:
::
/A :: Копировать только файлы с установленным атрибутом «Архивный».
/M :: Копировать только файлы с атрибутом «Архивный» и сбросить его.
/IA:[RASHCNETO] :: Включить файлы, у которых установлен какой-либо из заданных атрибутов.
/XA:[RASHCNETO] :: Исключить файлы, у которых установлен какой-либо из заданных атрибутов.
/XF file [файл]… :: Исключить файлы, соответствующие заданным именам, путям и подстановочным знакам.
/XD dirs [папки]… :: Исключить папки, соответствующие заданным именам и путям.
/XC :: Исключить измененные файлы.
/XN :: Исключить более поздние файлы.
/XO :: Исключить более ранние файлы.
/XX :: Исключить дополнительные файлы и папки.
/XL :: исключить отдельно расположенные файлы и папки.
/IS :: Включить те же файлы.
/IT :: Включить оптимизированные файлы.
/MAX:n :: Максимальный размер файла — исключить файлы, размер которых более n байт.
/MIN:n :: Минимальный размер файла — исключить файлы, размер которых менее n байт.
/MAXAGE:n :: Максимальный возраст файла — исключить файлы, возраст которых превышает n дней.
/MINAGE:n :: Минимальный возраст файла — исключить файлы, возраст которых менее n дней.
/MAXLAD:n :: Наиболее поздняя дата последнего обращения — исключить файлы, которые не использовались с даты n.
/MINLAD:n :: Наиболее ранняя дата последнего обращения — исключить файлы, которые использовались после даты n.
(Если n < 1900, то n = n дней, в противном случае n — дата в формате ДДММГГГГ).
/XJ :: исключить точки соединения. (по умолчанию обычно включаются).
/FFT :: Использовать время файлов FAT (двухсекундная точность).
/DST :: Учитывать одночасовую разницу при переходе на летнее время.
/XJD :: Исключить точки соединения для папок.
/XJF :: Исключить точки соединения для файлов.
::
:: Параметры повторных попыток:
::
/R:n :: число повторных попыток для неудавшихся копий: по умолчанию — 1 миллион.
/W:n :: Время ожидания между повторными попытками: по умолчанию — 30 секунд.
/REG :: Сохранить /R:n и /W:n в реестре как параметры по умолчанию.
/TBD :: Ждать, пока будут определены имена общих ресурсов (ошибка повторной попытки 67).
::
:: Параметры ведения журнала:
::
/L :: Только список — файлы не копируются, не удаляются, не помечаются метками времени.
/X :: Сообщать обо всех дополнительных файлах, а не только о выбраных.
/V :: Подробный вывод с указанием пропущенных файлов.
/TS :: Включать в вывод метки времени исходных файлов.
/FP :: Включать в вывод полные пути файлов.
/BYTES :: Печатать размеры в байтах.
/NS :: Без размера — не заносить в журнал размер файлов.
/NC :: Без класса — не заносить в журнал классы файлов.
/NFL :: Без списка файлов — не заносить в журнал имена файлов.
/NDL :: Без списка папок — не заносить в журнал имена папок.
/NP :: Без хода процесса — не отображать число скопированных %.
/ETA :: Показывать оценку времени окончания копирования файлов.
/LOG: файл :: Записывать состояние в файл журнала (перезаписывать существующий журнал).
/LOG+: файл :: Записывать состояние в файл журнала (добавлять к существующему журналу).
/UNILOG: файл :: Записывать состояние в файл журнала в формате Юникод (перезаписывать существующий журнал).
/UNILOG+: файл :: Записывать состояние в файл журнала в формате Юникод (добавлять к существующему журналу).
/TEE :: Направлять выходные данные в окно консоли и в файл журнала.
/NJH :: Без заголовка задания.
/NJS :: Без сведений о задании.
/UNICODE :: Cостояние вывода в формате Юникод.
::
:: Параметры задания:
::
/JOB: имя_задания :: Взять параметры из указанного файла задания.
/SAVE: имя_задания :: Сохранить параметры в указанный файл задания
/QUIT :: Выйти после обработки командной строки (для просмотра параметров).
/NOSD :: Не указывается исходная папка.
/NODD :: Не указывается папка назначения.
/IF :: Включить следующие файлы [/spoiler]

Примеры использования

Все это выполняется в командной строке (Пуск-Выполнить-CMD) или  вы можете создать  bat скрипт.

1. Скопировать файлы, измененные за последние 5 дней (исключая сегодня).

robocopy «E:\Documents» «\\NAS\BACKUP\Documents» /maxage:5 /minage:1

2. Переместить все файлы:
robocopy «E:\Documents» «\\NAS\BACKUP\Documents» /move /e

3. Скопировать файлы за исключением скрытых (/xa:h):

robocopy «E:\Documents» «\\NAS\BACKUP\Documents» /e /xa:h

или за исключением read-only (/ia:rs):

robocopy «E:\Documents» «\\NAS\BACKUP\Documents» /ia:rs

При копировании также можно менять атрибуты файлов, при помощи опции A+ (добавить атрибут) or A- (удалить атрибут). Скопировать все файлы и задать им атрибут read-only:

robocopy «E:\Documents» «\\NAS\BACKUP\Documents» /e /A+:r

4. Скопировать все файлы по шаблону (расширению), пустые папки не копировать:

robocopy «E:\Documents» «\\NAS\BACKUP\Documents» *.doc *.ppt /s

5. Скопировать все файлы размером от 1000 до 60000 байт:

robocopy «E:\Documents» «\\NAS\BACKUP\Documents» /e /max:60000 /min:1000

6. Исключить из копирования папку AppData (/XD AppData):

Robocopy «C:\Users\Administrator» «\\NAS\BACKUP\Administrator» /MIR /XA:SH /XD AppData /XJD

7. Создать 32 потока (/MT:32) копирования файлов:

Robocopy «C:\Users\Administrator» \\NAS\BACKUP\Administrator /MIR /XA:SH /XD AppData /XJD /R:5 /W:15 /MT:32

8. Скопировать файлы из одной папки в другую со стандартными атрибутами  исключив файл по расширению (допустим *.doc)

Robocopy » Robocopy «C:\Users\Administrator» «\\server\userbackup»  /СOPY:DAT /XF *.doc

 

Пример использования для бэкапа

1)

robocopy D:\исходная_папка \\192.168.0.1\целевая_папка /E /Z /COPY:TDASO /DCOPY:T /M /R:2 /W:5  /MT:64

В данном примере:
Мы копируем папку «исходная папка», находящуюся на локальном диске D:
Мы копируем эту папку на компьютер \\192.168.0.1 в папку «целевая папка»
/E : Мы копируем все подпапки и файлы
/Z : Включаем поддержку докачки (на случай обрыва связи)
/COPY:TDASO : Копируем все атрибуты и ACL прав доступа NTFS (но не копируем атрибуты аудита)
/DCOPY:T : Копируем время создания папок
/M : Копируем только файлы с установленным атрибутом «A — Архивный» и сбрасываем этот атрибут, что позволяет нам копировать только измененные файлы.
/R : Количество повторных попыток копирования файла в случае, если копирование не удалось. Причем «не удалось» срабатывает и в том случае, если доступ к файлу закрыт. По-умолчанию = 1 миллионы, т.е. бесконечно, потому копирование благополучно встанет на первом же файле, к которому не будет доступа.
/W : Задержка в секундах между попытками копирования. По-умолчанию = 30 секундам.

/MT — кол-во потоков, увеличив которые можно ускорить копирование. Будет быстрее чем обычное копирование файла точно.

Заметка. Очень рекомендую задавать вручную параметры /R и /W, иначе при автоматической синхронизации она попросту зависнет, встретив на своем пути ошибку доступа.

 

2) Похожий пример , но обратите внимание  — каждый раз бэкап копируется в папку с названием даты и времени.  Очень удобно для создание добавочного бэкапа.
robocopy D:\исходная_папка \\192.168.0.1\целевая_папка\%date:~0,2%.%date:~3,2%.%date:~6,4%.%time:~0,2%-%time:~3,2% /E /Z /COPY:TDASO /DCOPY:T /M /R:2 /W:5


%date:~0,2%.%date:~3,2%.%date:~6,4%.%time:~0,2%-%time:~3,2% - дата и время создание бэкапа в качестве названия папки. В итоге получается папка вида 16.01.2016-10.19

Или так — %date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%-%time:~3,2%   Результат — 2016-03-13_23-30

 

Много интересного вы также сможете узнать набрав команду  set /?

Формат даты в командной строке:

[spoiler show=»Показать текст»]

@echo off
 
 set day=%DATE:~0,2%
 set month=%DATE:~3,2%
 set year=%DATE:~6,4%
 
 set hour=%TIME:~0,2%
 set minute=%TIME:~3,2%
 set second=%TIME:~6,2%
 
 echo %day%
 echo %month%
 echo %year%
 
 echo %hour%
 echo %minute%
 echo %second%
 
 set YYYYMMDD=%year%%month%%day%
 
 echo %YYYYMMDD%
 [/spoiler]
 

 

описание команды и примеры использования

  • Bot
  • 29.01.2020
  • 7 002
  • 0
  • 02.11.2020
  • 6
  • 5
  • 1
  • Содержание статьи

Описание

XCOPY - Копирует файлы и каталоги, включая подкаталоги.

Синтаксис

xcopy источник [результат] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:мм-дд-гггг]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:файл1[+[файл2]][+[файл3]] [{/y|/-y}] [/z]

Параметры

Параметр Описание
источник Обязательный параметр. Задает местонахождение и имена файлов для копирования. Параметр должен задавать или диск, или путь.
результат Задает место, куда будут скопированы файлы. Параметр может включать имя диска с двоеточием, имя каталога, имя файла или их комбинацию.
/w Выводит следующее сообщение с ожиданием подтверждения начала копирования: Нажмите любую клавишу, чтобы начать копирование файлов
/p Запрашивает подтверждение при создании каждого файла-результата.
/c Игнорирует ошибки.
/v Проверяет каждый скопированный файл на соответствие его оригиналу.
/q Отменяет вывод на экран сообщений команды xcopy.
/f Выводит имена исходных файлов и файлов-результатов в процессе копирования.
/l Отображает список копируемых файлов.
/g Создает незашифрованные файлы-результаты.
/d[:мм-дд-гггг] Копирует только файлы, измененные не ранее заданной даты. Если не включить значение мм-дд-гггг, команда xcopy копирует все файлы-источники, которые новее существующих файлов-результатов. Эта возможность позволяет обновлять только измененные файлы.
/u Копирует (обновляет) только те файлы-источники, которые уже существуют в каталоге результата.
/i Если источником является каталог или источник содержит подстановочные знаки и результат не существует, команда xcopy считает, что результат — это имя каталога, и создает новый каталог. Затем xcopy копирует все указанные файлы в новый каталог. По умолчанию команда xcopy запрашивает подтверждение, является ли параметр результат каталогом или файлом.
/s Копирует каталоги и подкаталоги, если они не пусты. Если параметр /s не задан, команда xcopy будет работать только с одним каталогом.
/e Копирует все подкаталоги, включая пустые. Параметр /e используется с параметрами /s и /t. /t Копирует только структуру подкаталога (т. е. дерево), а не файлы. Для копирования пустых каталогов следует задать ключ /e.
/k Копирует файлы с атрибутом "только для чтения" с сохранением этого атрибута для скопированных файлов, оригиналы которых имеют этот атрибут. По умолчанию команда xcopy удаляет атрибут "только для чтения".
/r Копирует файлы с атрибутом "только для чтения".
/h Копирует системные и скрытые файлы. По умолчанию команда xcopy не копирует системные и скрытые файлы.
/a Копирует только те файлы, которые имеют установленный атрибут «архивный». При использовании параметра /a атрибут "архивный" у исходных файлов не меняется.
/m Копирует только те файлы, которые имеют установленный атрибут «архивный». В отличие от параметра /a, параметр /m очищает атрибут «архивный» у скопированных файлов.
/n Копирует с использованием коротких имен файловой системы NTFS. Параметр /n требуется при копировании из файловой системы NTFS в файловую систему FAT или когда на диске-результате требуется использование соглашения об именах файлов как в файловой системе FAT (8.3). Файлы могут записываться в файловую систему FAT или NTFS.
/o Копирует сведения о принадлежности файлов и избирательной таблице управления доступом (DACL).
/x Копирует сведения о параметрах аудита файла и системной таблице управления доступом (SACL) (подразумевается наличие /p). /exclude:файл1[+[файл2]][+[файл3]] Определяет список файлов, содержащих строки.
/y Устраняет выдачу запроса на подтверждение перезаписи существующего конечного файла.
/-y Выдает запрос на подтверждение перезаписи существующего конечного файла.
/z Копирует по сети в режиме перезапуска.
/? Отображает справку в командной строке.

Примечания

    • Использование параметра /exclude
      Построчный вывод всех строк в каждом файле. При соответствии выведенной строки части пути копируемого файла, он исключается из процесса копирования. Например, если указана строка «\Obj\», исключается все файлы, расположенные в каталоге «Obj». Например, если указана строка «.obj», исключается все файлы с расширением .obj.
    • Использование параметра /z
      Если во время фазы копирования теряется сетевое подключение (например, если сервер переходит автономный режим, разрывая подключение), копирование возобновляется после восстановления подключения. Использование параметра /z команды вызывает также отображение доли (в процентах) завершенной операции копирования для каждого файла.
    • Использование параметра /y в переменной среде COPYCMD. Можно применять параметр /y в переменной среде COPYCMD. Эта настройка может быть переопределена использованием параметра /-y в командной строке. По умолчанию если команда copy выполняется не в пакетной программе, при замене требуется подтверждение.
    • Копирование зашифрованных файлов
      При копировании файлов на том, не поддерживающий шифрованную файловую систему (EFS), возникнет ошибка. Следует предварительно расшифровать файлы или копировать их на том, поддерживающий EFS.
    • Добавление файлов
      Чтобы объединить файлы, укажите один файл-результат, но несколько файлов-источников (с помощью подстановочных знаков или формата файл1+файл2+файл3).
    • Значение по умолчанию для результата
      Если параметр результат не задан, xcopy будет копировать файлы в текущий каталог.
    • Указание в качестве результата файла или каталога
      Если параметр результат не содержит существующий каталок или не заканчивается обратной чертой(\), выводится следующее сообщение:Что означает destination:
      имя файла или каталога
      (F = файл, D = каталог)?Нажмите F, если файл или файлы должны копироваться в файл. Нажмите D, если файл или файлы должны копироваться в каталог.Чтобы устранить вывод этого сообщения, используйте параметр /i. В результате чего, команда xcopy предполагает, что результат является каталогом, если источник престаляет собой несколько файлов или каталогов.
    • Использование команды xcopy для установки атрибута «архивный» для файлов результата
      Команда xcopy создает файлы с установленным атрибутом «архивный», независимо от состояния этого атрибута у исходных файлов.
    • Сравнение команд xcopy и diskcopy
      Команда xcopy должна быть использована вместо diskcopy при копировании файлов и подкаталогов на диск другого формата. Так как команда diskcopy копирует диски по дорожкам, требуется, чтобы исходный диск и диск-результат имели одинаковый формат. Для команды xcopy это требование не нужно. Обычно следует использовать команду xcopy, если только не требуется получить два диска с одинаковыми образами.
    • Коды завершения программы xcopy

Для анализа кодов завершения, выведенных командой xcopy, используйте параметр уровень_ошибки в командной строке if пакетных программ.

В следующей таблице перечислены коды завершения с кратким описанием.

Код завершения Описание
0 Файлы скопированы без ошибок
1 Файлы для копирования не найдены
2 Нажата комбинация CTRL+C для остановки команды xcopy
4 Возникла ошибка инициализации. Недостаточно места в памяти или на диске, введено неверное имя диска или неверный синтаксис вызова команды
5 Диск защищен от записи

Примеры использования

Чтобы копировать все файлы и подкаталоги (включая пустые подкаталоги) с диска A на диск B, введите:

xcopy a: b: /s /e

Чтобы включить в операцию копирования предыдущего примера системные и скрытые файлы следует использовать параметр /h:

xcopy a: b: /s /e /h

Чтобы обновить файлы в каталоге \Reports файлами из каталога \Rawdata, измененными после 29 декабря 1993 года, введите:

xcopy \rawdata \reports /d:29-12-1993

Чтобы обновить файлы предыдущего примера, уже существующие в каталоге \Reports, независимо от их даты, введите следующую команду:

xcopy \rawdata \reports /u

Чтобы получить списк файлов, которые были бы скопированы в предыдущем примере, следует ввести команду:

xcopy \rawdata \reports /d:29-12-1993 /l > xcopy.out

Список файлов, которые были бы скопированы, находится в файле Xcopy.out.

Чтобы скопировать каталог \Customer и все подкаталоги \\Public\Address на сетевой диск H, сохранить у файлов атрибут «только для чтения», введите команду:

xcopy \customer h:\public\address /s /e /k /p

Чтобы выдать предыдущую команду, убедиться, что команда xcopy создает каталог \Address и устранить вывод сообщение о создании нового каталога, добавьте параметр /i следующим образом:

xcopy \customer h:\public\address /s /e /k /p /i

Для запуска программы xcopy и анализа кодов завершения можно создать пакетный файл и использовать оператор if для обработки кодов завершения в случае возникновения ошибок. Например, следующая пакетная программа использует замещаемые параметры для задания источникаxcopy и результата:

@echo off
 rem COPYIT.BAT копирует все файлы во всех подкаталогах
 rem исходного диска или каталога (%1) на другой диск
 
 rem или в другой каталог (%2)
 
 ?? xcopy %1 %2 /s /e
 
 ??if errorlevel 4 goto lowmemory
 ?if errorlevel 2 goto abort
 ?if errorlevel 0 goto exit
 
 ??:lowmemory ?
 echo Недостаточно памяти для копирования файлов,
 задан недопустимый ?echo диск или ошибка в синтаксисе командной строки.
 ?goto exit
 ??
 :abort ?
 echo Нажата комбинация CTRL+C для остановки копирования.
 ?goto exit ?
 ?
 :exit

Эта пакетная программа может быть использована для копирования всех файлов каталога C:\Prgmcode и его подкаталогов на диск B следующим образом:

copyit c:\prgmcode b:

Командный интерпретатор подставляет C:\Prgmcode вместо параметра %1 и B вместо параметра %2, затем использует команду xcopy с параметрами /e и /s. Если при выполнении xcopy произошла ошибка, пакетная программа считывает код завершения и переходит на метку, указанную в соответствующей инструкции IF ERRORLEVEL. В результате на экран выводится сообщение о характере ошибки и осуществляется выход из пакетной программы.

Справочная информация


2 уловки | Копирование / резервное копирование только измененных (новых и измененных) файлов в Windows 10 - EaseUS

СОДЕРЖАНИЕ СТРАНИЦЫ:
Могу ли я сделать резервную копию только измененных файлов в Windows 10
Метод 1. Обратитесь за помощью к профессиональному ПО для резервного копирования (только 4 шага)
Метод 2. Вручную установить расписание для резервного копирования только измененных файлов

Могу ли я сделать резервную копию только измененных файлов в Windows 10?

" Привет, ребята, вы знаете, как создать резервную копию только измененных файлов в Windows 10? Я использую историю файлов для резервного копирования файлов в Windows 10.Но проблема в том, что история файлов будет копировать каждый файл каждый раз, когда он выполняет команду резервного копирования.
И этот
имеет и занимает довольно много места на жестком диске моего компьютера. Поэтому я думаю, что если я смогу создать резервную копию файлов, которые были изменены только в Windows 10, все будет идеально. Но я не знаю, как использовать историю файлов для этой работы.

Есть ли инструмент или программа, которые позволят мне выполнить такую ​​задачу в Windows 10? Как? "

Выполнить эту задачу в Windows 10 можно легко, применив мощное программное обеспечение для резервного копирования для Windows 10 и встроенную программу резервного копирования и восстановления в операционной системе Windows 10.

Далее вы узнаете, как копировать и создавать резервную копию изменений ваших файлов, с пошаговым руководством.

Метод 1. Резервное копирование только измененных файлов и новых файлов за 4 шага

Если вы предпочитаете простой способ обновления и создания резервной копии только измененных файлов, таких как музыка, изображения, документы, видео и т. Д., На ПК с Windows 10, вам может помочь мощное программное обеспечение для резервного копирования с функцией инкрементного / дифференциального резервного копирования.

Professional Backup Software - EaseUS Todo Backup поможет вам достичь цели всего за несколько простых щелчков мышью.Просто скачайте и установите его на свой компьютер с Windows 10 бесплатно, и пусть он вам сейчас поможет:

Почему мы рекомендуем вам попробовать EaseUS Todo Backup в качестве инструмента резервного копирования, чтобы обновлять и копировать только преобразованные файлы на ПК с Windows?

Вот список популярных функций EaseUS Todo Backup для справки:

Рекомендация
100% бесплатно для резервного копирования файлов / разделов диска, резервного копирования системы, клонирования системы, клона диска и т. Д.через 30 дней.
Инкрементное резервное копирование: резервное копирование только измененных файлов и новых файлов с момента последнего резервного копирования.
Индивидуальная функция сжатия: сжатие резервной копии, занимающей мало места на вашем ПК или внешнем жестком диске.
Совместим со всеми ОС Windows: Windows 10 / 8.1 / 8/7, Windows XP и Vista.

И если вы хотите активировать это программное обеспечение для получения дополнительных функций, нажмите кнопку активации ниже, чтобы обновить это программное обеспечение прямо сейчас:

Ваши деньги в безопасности благодаря нашей 30-дневной политике возврата.(Если это программное обеспечение не помогает, свяжитесь с нами и верните свои деньги в течение 30 дней.) Если у вас есть какие-либо вопросы по использованию этого программного обеспечения для резервного копирования недавно добавленных или измененных файлов, следуйте приведенным ниже инструкциям, чтобы сделать это самостоятельно. .

Учебное пособие по

: резервное копирование только измененных файлов за 4 шага с EaseUS Todo Backup

Шаг 1. Откройте EaseUS Todo Backup и выберите «Файл».

У вас может быть большой объем важных данных, которые нужно защитить с течением времени, например документы, изображения, музыка, видео и т. Д.Всегда полезно иметь резервную копию на регулярной основе.

make a full file backup first

Шаг 2. Выберите файлы, для которых нужно создать резервную копию.

Если вы просто хотите создать резервную копию одного или нескольких определенных типов файлов из одной папки, опция в правом верхнем углу может помочь вам исключить другие файлы.

select the file that you want to back up

Шаг 3. Выберите место назначения для сохранения файла резервной копии.

select a destination to save the Windows backups

Шаг 4. Нажмите «Расписание», чтобы создать автоматическую инкрементную резервную копию.

Например, если вы хотите выполнять резервное копирование этих файлов каждое воскресенье, выберите «Еженедельно» и выберите «Солнце». Затем установите метод резервного копирования «Инкрементное».

Наше программное обеспечение впервые будет запускаться с полной резервной копии. После этого каждое воскресенье он будет выполнять задание резервного копирования только для измененных файлов.

set a schedule and you will be able to start an incremental backup with the help of EaseUS Todo Backup
Уведомление:
Вот вам теплый совет. Поскольку это первая резервная копия для создания полного образа резервной копии, этот процесс обычно занимает больше времени, поскольку необходимо создать образ для всех выбранных файлов.Немного отдохни и терпеливо жди.

Если у вас достаточно места, вы также можете выбрать вариант «Назначить еженедельную первую резервную копию как полную». Эта опция позволяет вам делать полную резервную копию и инкрементную резервную копию одновременно. Но занимает много места на диске.

Шаг 5. Нажмите «Сохранить», а затем «Продолжить», чтобы выполнить полное резервное копирование.

После этого он автоматически выполнит инкрементное резервное копирование в установленный день.

После этого EaseUS Todo Backup автоматически создаст резервные копии файлов, которые изменились только для вас в Windows 10 после первой операции полного резервного копирования.Больше ничего делать не нужно.

Метод 2. Настройте расписание в Windows 10 для резервного копирования только измененных / новых файлов

Другой способ, который вы можете попробовать, - это применить встроенный в Windows инструмент резервного копирования в разделе «Резервное копирование и восстановление» (Windows 7) для создания плана резервного копирования по расписанию для резервного копирования вновь добавленных или обновленных файлов с ручными действиями. И вы также можете попробовать этот метод прямо сейчас:

Шаг 1 . Введите Панель управления в поле поиска в Windows 10, чтобы открыть панель управления .

Open Control Panel to set schedule backup for only changed files.

Шаг 2 . Найдите опцию « Резервное копирование и восстановление (Windows 7) » и откройте ее.

Open Windows Backup tool for backing up only changed files in Windows 10.

Шаг 3 . На правой панели нажмите « Настроить резервную копию ».
Шаг 4 . Выберите место для сохранения резервной копии. Настоятельно рекомендуется сохранить резервную копию на внешний жесткий диск.

Choose location to save only changed files in Windows 10.

Шаг 5 . Теперь выберите, какое содержимое вы хотите зарезервировать.Вы можете следовать настройкам Windows по умолчанию или решать самостоятельно.
Шаг 6 . В области «Расписание» вы можете изменить расписание резервного копирования, указав, как часто и в какой день создавать новое резервное копирование.

setup a schedule to backup only new and changed files in Windows 10

Шаг 7 . Щелкните « Сохранить настройки и запустить резервное копирование ».

Теперь файлы, которые были преобразованы, и новые файлы, созданные с момента последней резервной копии, будут добавлены в резервную копию в соответствии с установленным вами расписанием.

.Командная строка

- использовать Robocopy для копирования только измененных файлов?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

node.js - Как скопировать только измененные файлы

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.Плагины

- Gruntjs: Как сделать задачу копирования, чтобы копировать только измененные файлы на часах

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд
.

jenkins - Как копировать только измененные файлы с помощью публикации по SSH

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегой
.

cmd - Могу ли я использовать XCOPY для копирования только файлов с измененным размером?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

Смотрите также