Перейти к содержимому

Интересные ключи Robocopy

robocopy c:откуда d:куда ...[параметры]

Некоторые полезные и малопонятные параметры (ключи):


/XO

 — исключить (из операций) файлы, которые (в папке откуда) старее («older»):

— если старее окажется файл в папке куда, то он будет в ней перезаписан — все как обычно

— если файл в папке куда вдруг окажется новее, то он останется нетронутым

Т.е. если в момент сравнения файла источника (откуда) и файла назначения (куда) окажется, что в папке источника (откуда) более старый файл — этот файл просто пропускается и ничего с ним не происходит вообще.

ВАЖНО! Файл будет перезаписан (в первом случае), или не затронут (во втором случае) независимо того какой у него размер или атрибуты. Кроме того, если у обрабатываемых файлов есть посторонние внешние жесткие ссылки, то обрабатываемые файлы могут быть неверно прочитаны Robocopy.


/XN

 — исключить (из операций) файлы, которые (в папке откуда) новее («newer»):

— если новее вдруг окажется файл в папке куда, то он будет в ней перезаписан

— если файл в папке куда окажется старее, то он останется нетронутым

Т.е. если в момент сравнения файла источника (откуда) и файла назначения (куда) окажется, что в папке источника (откуда) более новый файл — этот файл просто пропускается и ничего с ним не происходит вообще.

ВАЖНО! Файл будет перезаписан (в первом случае), или не затронут (во втором случае) независимо того какой у него размер или атрибуты.


/XС

 — исключить (из операций) измененные («changed») файлы:

— только одинаковое время (!) и разный размер означают, что файлы «changed»

— если файлы имеют одинаковое время и разный размер — файл в папке куда останется нетронутым (будет исключен из обработки)

— если файлы имеют разное время то даже разный размер не будет иметь значения, — файл в папке куда НЕ будет считаться «changed» и НЕ будет исключен из обработки (а будет видимо перезаписан).

— атрибуты файлов для этого ключа вообще не важны

Т.е. если в момент сравнения файла источника (откуда) и файла назначения (куда) окажется, что у файлов одинаковые метки времени, то только тогда сравнивается размер файлов, и если размер отличается, то только тогда файлы считаются «changed» и будут исключены из обработки (проигнорированы). Если метки времени разные, то независимо от их разного размера — файлы НЕ попадут в класс «changed» (и НЕ будут обрабатываться этим ключом), — т.е. НЕ будут исключены (НЕ будут проигнорированы программой), а будут перезаписаны!

ВАЖНО! Если одноименные файлы в папках откуда и куда имеют одинаковые метки времени, одинаковый размер (!), но разное содержимое (а такое тоже бывает), то Robocopy этого к сожалению не увидит — в этом случае его будет интересовать только размер файлов.

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


/XX

 — исключить (из операций) «дополнительные» («extra») файлы и папки, — которых НЕТ в папке откуда, но они есть в папке куда.


/XL

 — исключить (из операций) «одинокие» («lonely») файлы и папки, — которые ЕСТЬ в папке откуда, но отсутствуют в папке куда.


/IS

 — включить одинаковые («same») файлы, — которые полностью идентичны (по времени, размеру и атрибутам)


/IT

 — включить «твикнутые» («tweaked») файлы, — которые имеют одинаковый размер и метки времени, но разные атрибуты.


Полезная таблица для понимания классификации файлов в Robocopy:

File        Exists In   Exists In        Source/Dest     Source/Dest   Source/Dest
Class       Source      Destination      File Times      File Sizes    Attributes
=========== =========== ================ =============== ============= ============
Lonely      YesNo      n/a    n/a  n/a
Tweaked     YesYes     Equal  EqualDifferent
Same        YesYes     Equal  EqualEqual
Changed     YesYes     Equal  Different     n/a
Newer       YesYes     Source > Dest   n/a  n/a
Older       YesYes     Source 
Опубликовано вWindows

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *