CopyMik — бесплатная программа для сложного копирования, переименования (включая транслитерацию), сжатия, разжатия, шифрования, дешифрования файлов и папок, копирования из теневых снимков томов.
В отличии от robocopy, xcopy или rsync программа CopyMik имеет переименование, сжатие и шифрацию,
позволяет использовать несколько масок в каждом ключе.
Ключи разделены для файлов и папок. Ключи и маски можно читать из файлов.
При проверке условий копирования, сжатия, шифрации и переименования возможно использование регулярных выражений.
Допускаются вложенные ссылки на файлы ключей и масок.
Это позволяет, в большинстве случаев, отказаться от написания скриптов копирования.
CopyMik удобна при создании резервных копий, зеркальном отображении файлов с повторением структуры папок (директорий).
Позволяет исключить из копирования или переименовать в случае существования папки и файлы.
Поддерживает копирование прав доступа к файлам и папкам раздельно.
При копировании файлов возможно их шифрование или дешифровка, сжатие и разжатие, опционально шифруемые и сжимаемые файлы можно переименовывать как в прямом так и в обратном направлениях, также возможна транслитирация названий файлов и папок с 14 языков.
Доступно 12 различных алгоритмов шифрования что делает возможным последовательное шифрование несколькими различными алгоритмами (маниакальное шифрование), а это в свою очередь очень сильно затрудняет взлом и дешифровку.
Содержит много других удобных возможностей.
CopyMik 2.28 Beta Сборка 9 (Бесплатная)
для Windows
rusmikleАТgmail.com Михаил Червоненко или телеграм
Условия использования программы CopyMik: Автор не несёт ответственности за последствия использования программы CopyMik. Программа CopyMik находится в стадии тестирования и может содержать ошибки! Используя программу CopyMik Вы полностью перенимаете ответственность за результаты работы программы CopyMik на себя.
Я согласен с условиями использования программы CopyMik — Загрузить zip файл | Зеркало — Softodrom.ru
md5: copymik.exe — BF05FD7DCA504899302BBD5483A719AB
copymik_v2_28_9_beta.zip — 1E6EE731937097537AAD0C4704990073
Программа для получения md5 файла здесь
Для правильного отображения всех символов национальных алфавитов применяющихся в именах файлов и папок консольный вывод CopyMik осуществляется в кодировке utf8, соотв. для правильного отображения текстов с национальными символами необходимо использовать подходящий шрифт в консоли или изменить кодировку вывода ключем /CP.
Помощь проекту
Справочная информация по программе CopyMik -> Telegram
copymik.exe ИсходнаяПапка ЦелеваяПапка [Keys]
ИсходнаяПапка и ЦелеваяПапка — могут содержать предопределённые переменные: {DATE} — текущая дата, {DATETIME} — текущие дата и время (формат переменной {DATETIME} можно изменить ключем /DTF)), {YEAR} — номер года, {MONTHNAME} — название месяца, {DAYNAME} — название дня недели, {MONTHOFYEAR} — номер мясяца в году, {WEEKOFYEAR} — номер недели в году, {WEEKOFMONTH} — номер недели в месяце, {DAYOFYEAR} — номер дня года, {DAYOFMONTH} — номер дня в месяце, {DAYOFWEEK} — номер дня в неделе, {HOUR} — часы, {MIN} — минуты, {SEC} — секунды, {MSEC} — миллисекунды
Маски файлов или папок могут читаться из текстовых файлов в кодировке UTF-8. Для этого замените маску файла или папки на ::ПутьИИмяФайлаМасок (два двоеточия впереди обязательны). Каждая маска должна начинаться с новой строки. Пробелы учитываются! Файлы с масками могут содержать ссылки на другие файлы с масками.
[/MF[ МаскаФайла1[ МаскаФайла2[ ….]]]] Маска для копирования файлов (по умолчанию маска * — все)
[/MD[ МаскаПапки1[ МаскаПапки2[ ….]]]] Маска для копирования папок (по умолчанию маска * — все)
[/TP] Сквозной проход всех исходных папок на всю глубину вложенности вне зависимости выполняется условие копирования для текущей папки или нет.
[/XCD [МаскаПапки1[ МаскаПапки2[ ….]]]] Не копировать папки с указанными масками (по умолчанию маска * — все)
[/XCF [МаскаФайла1[ МаскаФайла2[ ….]]]] Не копировать файлы с указанными масками (по умолчанию маска * — все)
[/XDMD МаскаПапки1[ МаскаПапки2[ ….]]] Не проверять маску папки для подпапок с указанной маской (будет использована маска * — все)
[/XDMF МаскаПапки1[ МаскаПапки2[ ….]]] Не проверять файловую маску для подпапок с указанной маской (будет использована маска * — все)
/XSD Исключить из копирования/сброса атрибутов безопасности папки
/XSF Исключить из копирования/сброса атрибутов безопасности файлы
[/SEXF[ МаскаФайла1[ МаскаФайла2[ ….]]]] Пропустить файлы с указанными масками если они уже существуют (по умолчанию маска * — все)
[/RF[ МаскаФайла1[ МаскаФайла2[ ….]]]] Переименовывать файл если он уже существует. (игнорируется при ключе /OF). Переименовыааются только файлы подходящие под маски. (по умолчанию маска * — все)
[/OF[ МаскаФайла1[ МаскаФайла2[ ….]]]] Перезаписывать только файлы с указанными масками. (по умолчанию маска * — все)
[/SOLDF[ МаскаФайла1[ МаскаФайла2[ ….]]]] Не перезаписывать файлы с более поздней датой изменения (перезаписывать только старые файлы). Проверяются только файлы сооств. масок. (по умолчанию маска * — все). Используется только в сочетании с ключем /OF
[/SNEWF[ МаскаФайла1[ МаскаФайла2[ ….]]]] Перезаписывать только файлы с более поздней датой изменения. Проверяются только файлы сооств. масок. (по умолчанию маска * — все). Используется только в сочетании с ключем /OF
[/SDTSF[ МаскаФайла1[ МаскаФайла2[ ….]]]] Пропустить файлы с тойже датой изменения и размером. Проверяются только файлы с указанными масками. При шифровании и дешифровке не проверяется и всегда перезаписывается. (по умолчанию маска * — все). Используется только в сочетании с ключем /OF
[/TDELTA Секунд[ Секунд2]] Погрешность в секундах у целевого файла при сравнении дат в ключе /SDTSF. Погрешность может быть со знаком минус, плюс и без знака. Если знак минус то это погрешность минусуется от даты целевого файла, если плюс то плюсуется. Если знак не указан то погрешность и плюсуется и минусуется одновременно. Погрешность по умолчанию 0 секунд
[/ODT[ МаскаЦелевойПапки1[ МаскаЦелевойПапки2[ ….]]]] Копировать только если целевая папка существует, все остальные папки исключаются из копирования. (По умолчанию маска * — все)
ВАЖНО! Если производится переименование то проверка маски папки происходит с учётом её нового имени
[/NODT[ МаскаЦелевойПапки1[ МаскаЦелевойПапки2[ ….]]]] Копировать только если целевая папка НЕ существует, все остальные папки исключаются из копирования. (По умолчанию маска * — все)
ВАЖНО! Если производится переименование то проверка маски папки происходит с учётом её нового имени
[/OFT[ МаскаЦелевогоФайла1[ МаскаЦелевогоФайла2[ ….]]]] Копирование производится только если целевой файл существует. Все остальные файлы будут пропущены. Имеет смысл только в сочетании с ключем /OF. (По умолчанию маска * — все)
ВАЖНО! Если производится переименование то проверка маски файла происходит с учётом его нового имени
[/NOFT[ МаскаЦелевогоФайла1[ МаскаЦелевогоФайла2[ ….]]]] Копирование производится только если целевой файл НЕ существует. Все остальные файлы будут пропущены. (По умолчанию маска * — все)
ВАЖНО! Если производится переименование то проверка маски файла происходит с учётом его нового имени
[/NODELT] Не удалять файлы и папки в целевой папке если при копировании были ошибки (например, при использовании ключа /MIR)
[/RFT[ Маска]] Маска переименования файлов в случае существования целевого файла с таким же именем). (Только в сочетании с ключем /RF). Маска по умолчанию «{FNAMEEXT} — Copy ({NR})» где {NR} — номер копии.
Допускает использование переменных: {SP} — символ пробела, {DATE} — текущая дата, {DATETIME} — текущие дата и время, {YEAR} — номер года, {MONTHNAME} — название месяца, {DAYNAME} — название дня недели, {MONTHOFYEAR} — номер мясяца вгоду, {WEEKOFYEAR} — номер недели в году, {WEEKOFMONTH} — номер недели в месяце, {DAYOFYEAR} — номер дня года, DAYOFMONTH} — номер дня в месяце, {DAYOFWEEK} — номер дня в неделе, {HOUR} — часы, {MIN} — минуты, {SEC} — секунды, {MSEC} — миллисекунды, {FNAMEEXT} — имя и расширение файла, {FNAME} — имя файла, {FEXT} — расширение файла, {FEEXT} — расширение файла без точки, {QUOTE} — двойная кавычка, {EQUAL} — знак =
[/CAF Атрибут1[ Атрибут2[ ….]] Включить или исключить из копирования файлы с аттрибутами. Атрибуты начинающиеся со знака плюс — разрешают копирование файлов а с минуса — запрещают. Знак по умолчанию +. Приоритет в порядке написания.
Возможные атрибуты: R – только чтение, H – скрытый, S – системный, A – архивный, D — файл устройства windows, F — нормальный файл, T — временный, G — файл малой плотности (обычно большой содержащий в основном нули), C – сжатый, O — не присоединённый (содержимое файла не доступно), N – не индексируемый, E – зашифрованный, V — Виртуальный
[/CAD Атрибут1[ Атрибут2[ ….]] Включить или исключить из копирования папки с аттрибутами. Атрибуты начинающиеся со знака плюс — разрешают копирование папок а с минуса — запрещают. Знак по умолчанию +. Приоритет в порядке написания.
Возможные атрибуты: R – только чтение, H – скрытый, S – системный, A – архивный, C – сжатый, N – не индексируемый, E – зашифрованный’, P — точка входа (представляет собой блок определяемых пользователем данных, связанных с реальным реальным каталогом)
ВАЖНО! в последних версиях windows для копирования или создания точек входа/ссылок требуются запуск copymik с правами администратора
[/GL] переходить по ссылке при копировании ссылки/точки входа (копировать реальные данные по ссылке а не саму ссылку/точку входа)
[/BDEL[ ПапкаДляРезервныхКопий]] Указывает папку для резервной копии удаляемых целевых файлов (напр. при ключе /MIR).
Если папка не указана то используется имя головной целевой папки с постфиксом _BDEL и подпапка на основе {DATETIME}
Перед удалением файл будет скопирован в указанную папку, дерево папок до файла так же будет воссоздано.
Допускает использование переменных: {SP} — символ пробела, {DATE} — текущая дата, {DATETIME} — текущие дата и время, {YEAR} — номер года, {MONTHNAME} — название месяца, {DAYNAME} — название дня недели, {MONTHOFYEAR} — номер мясяца вгоду, {WEEKOFYEAR} — номер недели в году, {WEEKOFMONTH} — номер недели в месяце, {DAYOFYEAR} — номер дня года, DAYOFMONTH} — номер дня в месяце, {DAYOFWEEK} — номер дня в неделе, {HOUR} — часы, {MIN} — минуты, {SEC} — секунды, {MSEC} — миллисекунды
ВНИМАНИЕ! Если ключи /BDEL и /MDEL и /EXMDEL отсутствуют то резервное копирование удаляемых файлов не производится!
ВНИМАНИЕ! Папка для резервных копий не должна совпадать с целевой папкой или любой из целевых подпапок.
ВНИМАНИЕ! Для резервного копирования удаляемых целевых файлов с параметрами по умолчанию достаточно наличие одного из ключей /BDEL или /MDEL или /EXMDEL.
ВНИМАНИЕ! Если в процессе резервного копирования произошла ошибка то копирование связанного файла и замена/удаление целевого файла производиться не будет!
[/MDEL[ МаскаФайла1[ МаскаФайла2[ ….]]]] Маска удаляемых целевых файлов для которых следует делать резервные копии перед удалением. (Если ключ не указан и по умолчанию маска * — все).
ВНИМАНИЕ! Маска должна учитывать переименование файлов так как проверка производится по именам файлов из целевой папки!
ВНИМАНИЕ! Если ключи /BDEL и /MDEL и /EXMDEL отсутствуют то резервное копирование удаляемых файлов не производится!
ВНИМАНИЕ! Для резервного копирования удаляемых целевых файлов с параметрами по умолчанию достаточно наличие одного из ключей /BDEL или /MDEL или /EXMDEL.
ВНИМАНИЕ! Если в процессе резервного копирования произошла ошибка то копирование связанного файла и замена/удаление целевого файла производиться не будет!
[/EXMDEL[ МаскаФайла1[ МаскаФайла2[ ….]]]] Маска удаляемых целевых файлов для которых НЕ следует делать резервные копии перед удалением. (по умолчанию маска *.tmp).
ВНИМАНИЕ! Маска должна учитывать переименование файлов так как проверка производится по именам файлов из целевой папки!
ВНИМАНИЕ! Если ключи /BDEL и /MDEL и /EXMDEL отсутствуют то резервное копирование удаляемых файлов не производится!
ВНИМАНИЕ! Для резервного копирования удаляемых целевых файлов с параметрами по умолчанию достаточно наличие одного из ключей /BDEL или /MDEL или /EXMDEL.
ВНИМАНИЕ! Если в процессе резервного копирования произошла ошибка то копирование связанного файла и замена/удаление целевого файла производиться не будет!
[/BREPL[ ПапкаДляРезервныхКопий]] Указывает папку для резервной копии заменяемых целевых файлов (напр. при ключе /MIR или /OF …).
Если папка не указана то используется головная целевая папка с постфиксом _BREPL и подпапка на основе {DATETIME}
Перед удалением файл будет скопирован в указанную папку, дерево папок до файла так же будет воссоздано.
Допускает использование переменных: {SP} — символ пробела, {DATE} — текущая дата, {DATETIME} — текущие дата и время, {YEAR} — номер года, {MONTHNAME} — название месяца, {DAYNAME} — название дня недели, {MONTHOFYEAR} — номер мясяца вгоду, {WEEKOFYEAR} — номер недели в году, {WEEKOFMONTH} — номер недели в месяце, {DAYOFYEAR} — номер дня года, DAYOFMONTH} — номер дня в месяце, {DAYOFWEEK} — номер дня в неделе, {HOUR} — часы, {MIN} — минуты, {SEC} — секунды, {MSEC} — миллисекунды
ВНИМАНИЕ! Если ключи /BREPL и /MREPL отсутствуют то резервное копирование заменяемых файлов не производится!
ВНИМАНИЕ! Папка для резервных копий не должна совпадать с целевой папкой или любой из целевых подпапок.
ВНИМАНИЕ! Если в процессе резервного копирования произошла ошибка то копирование связанного файла и замена/удаление целевого файла производиться не будет!
[/MREPL[ МаскаФайла1[ МаскаФайла2[ ….]]]] Маска заменяемых целевых файлов для которых следует делать резервные копии перед заменой. (Если ключ не указан и по умолчанию маска * — все).
ВНИМАНИЕ! Маска должна учитывать переименование файлов так как проверка производится по именам файлов из целевой папки!
ВНИМАНИЕ! Если ключи /BREPL и /MREPL и /EXMREPL отсутствуют то резервное копирование заменяемых файлов не производится!
ВНИМАНИЕ! Для резервного копирования заменяемых целевых файлов с параметрами по умолчанию достаточно наличие одного из ключей /BREPL или /MREPL или /EXMREPL.
ВНИМАНИЕ! Если в процессе резервного копирования произошла ошибка то копирование связанного файла и замена/удаление целевого файла производиться не будет!
[/EXMREPL[ МаскаФайла1[ МаскаФайла2[ ….]]]] Маска заменяемых целевых файлов для которых НЕ следует делать резервные копии перед удалением. (по умолчанию маска *.tmp).
ВНИМАНИЕ! Маска должна учитывать переименование файлов так как проверка производится по именам файлов из целевой папки!
ВНИМАНИЕ! Если ключи /BREPL и /MREPL и /EXMREPL отсутствуют то резервное копирование заменяемых файлов не производится!
ВНИМАНИЕ! Для резервного копирования заменяемых целевых файлов с параметрами по умолчанию достаточно наличие одного из ключей /BREPL или /MREPL или /EXMREPL
ВНИМАНИЕ! Если в процессе резервного копирования произошла ошибка то копирование связанного файла и замена/удаление целевого файла производиться не будет!
[/BEMPTY] Делать резервную копию удаляемых папок даже если они пустые (только в сочетании с ключами /BDEL и/или /MDEL и/или /EXMDEL)
[/DELF[ МаскаФайла1[ МаскаФайла2[ ….]]]] — удаляет по указанной маске успешно скопированные/сжатые/зашифрованные файлы в исходной папке (по умолчанию маска * — все)
[/DELFD[ МаскаПапки1[ МаскаПапки2[ ….]]]] Ограничивает действие ключа /DELF исходными папками по указанной маске (по умолчанию маска * — все)
ВАЖНО!!! ключи /DELF и /DELFD работают только для успешно скопированных/сжатых/переименованных файлов и не работают в сочетании с ключами /DNSF или /MIR
[/MD5[ МаскаФайла1[ МаскаФайла2[ ….]]]] Копировать только файлы с отличной контрольной суммой. Проверяются только файлы с указанными масками. При шифровании и дешифровке не проверяется и всегда перезаписывается. (по умолчанию маска * — все). Используется только в сочетании с ключем /OF.
ВАЖНО!!! Проверка контрольной суммы сильно замедляет процесс копирования. В большинстве случаев достаточно ключа /SDTSF в сочетании с ключем /OF
[/SZF NSizeBytes] Копировать/Сжимать/Шифровать только файлы размером большим или равным NSizeBytes байт
[/SZT NSizeBytes] Копировать/Сжимать/Шифровать только файлы размером меньшим или равным NSizeBytes байт
[/TM[ Nsec]] Копировать/Сжимать/Шифровать только файлы с датой и временем изменения в пределах последних Nsec секунд (отсчет от текущего времени). По умолчанию Nsec=3600 (один час)
[/DT[ Ndays]] Копировать/Сжимать/Шифровать только файлы с датой изменения в пределах последних Ndays дней (отсчет от текущей даты, время отбрасывается и не учитывается). По умолчанию Ndays=0 (сегодня)
[/DTS DD.MM.YYYY] Копировать/Сжимать/Шифровать только файлы с датой изменения большей или равной DD.MM.YYYY дате (напр. 01.09.2015) (где DD — день месяца, MM — месяц, YYYY — год. Важно — ведущие нули обязательны!
[/DTE DD.MM.YYYY] Копировать/Сжимать/Шифровать только файлы с датой изменения меньшей или равной DD.MM.YYYY дате (напр. 01.09.2015) (где DD — день месяца, MM — месяц, YYYY — год. Важно — ведущие нули обязательны!
[/DNSF[ МаскаФайла1[ МаскаФайла2[ ….]]]] Удалять файл если он не существует в исходной папке. Проверять и удалять только файлы подходящие под указанные маски. (по умолчанию маска * — все)
[/DNSD[ МаскаПапки1[ МаскаПапки2[ ….]]]] Удалять папки если они не существуют в исходной папке. Проверять и удалять только папки подходящие под указанные маски. (по умолчанию маска * — все)
[/MIR [ МаскаФайла1[ МаскаФайла2[ ….]]]] Создает зеркальную копию папок и файлов. Возможно ограничение по маскам. Эквивалентна комбинации ключей: /MF [ МаскаФайла1[ МаскаФайла2[ ….]]]] /MD /CSF /OF [ МаскаФайла1[ МаскаФайла2[ ….]]]] /DNSF [ МаскаФайла1[ МаскаФайла2[ ….]]]] /DNSD (по умолчанию маска * — все)
ВАЖНО!!! функции переименования файлов могут автоматически отключить функции зеркалировани. Исключение составляют ключи добавления или удаления расширения файлам при сжатиии, разжатии, компрессии и декомпрессии /COADD /DECODEL /CRADD /DECRDEL
[/NCD Не создавать дерево папок. (Все файлы будут скопированы в одну целевую папку)
[/RFA[ МаскаФайла1[ МаскаФайла2[ ….]]]] Установить все атрибуты файлов в «Архивный». Только для файлов подходящих под маски. (по умолчанию маска * — все)
[/RDA[ МаскаПапки1[ МаскаПапки2[ ….]]]] Сбросить атрибуты папок. Только для папок подходящих под маски. (по умолчанию маска * — все)
[/AF [МаскаФайла1=]Атрибуты1[ [МаскаФайла2=]Атрибуты2[ ….]]] Установить или сбросить атрибуты для файлов с указанной маской. Атрибуты начинающиеся со знака плюс — добавляются а с минуса — удаляются. Возможные атрибуты R – только чтение, A – архивный, S – системный, H – скрытый, C – сжатый, N – не индексированный, O — не присоединённый, E – зашифрованный, T – временный. Ключ /AF имеет более низкий приоритет чем ключ /RFA. Допускается укороченная форма — без маски файла и знака равно, в этом случае по умолчанию будет маска *. Например /AF -H-S *.doc=+A *.tmp=-A
[/AD [МаскаПапки1=]Атрибуты1[ [МаскаПапки2=]Атрибуты2[ ….]]] Установить или сбросить атрибуты для папок подходящих под маску. Атрибуты начинающиеся со знака плюс — добавляются а с минуса — удаляются. Возможные атрибуты R – только чтение, A – архивный, S – системный, H – скрытый, C – сжатый, N – не индексированный, O — не присоединённый, E – зашифрованный, T – временный. Ключ /AD имеет более низкий приоритет чем ключ /RDA. Допускается укороченная форма — без маски файла и знака равно, в этом случае по умолчанию будет маска *. Например /AD -H-S doc*=+A tmp=-A+H temp=-A+H
[/CTF[ МаскаФайла1[ МаскаФайла2[ ….]]]] Копировать даты последней записи, создания, последнего доступа и изменения файлов. Только для файлов подходящих под маски. (по умолчанию маска * — все)
[/CTD[ МаскаПапки1[ МаскаПапки2[ ….]]]] Копировать даты последней записи, создания, последнего доступа и изменения папок. Только для папок подходящих под маски. (по умолчанию маска * — все)
[/CS[ МаскаФайла1[ МаскаФайла2[ ….]]]] Копировать атрибуты безопасности и аудита файлов и папок. Только для файлов подходящих под маски и папок с маской *. Ключ /CS равноценен комбинации ключей /CSF[ МаскаФайла1[ МаскаФайла2[ ….]]]] и /CSD *. (по умолчанию маска * — все)
[/CSF[ МаскаФайла1[ МаскаФайла2[ ….]]]] Копировать атрибуты безопасности файлов (права доступа). Только для файлов подходящих под маски. Ключ /CSF равноценен одновременной комбинации ключей /CSFO, /CSFG, /CSFD, /CSFS. (по умолчанию маска * — все)
[/CSFO[ МаскаФайла1[ МаскаФайла2[ ….]]]] — Копировать часть дескриптора безопасности отвечающего за владельца файла (Маска по умолчанию *)
[/CSFG[ МаскаФайла1[ МаскаФайла2[ ….]]]] — Копировать часть дескриптора безопасности отвечающего за групповае политики файла (Маска по умолчанию *)
[/CSFD[ МаскаФайла1[ МаскаФайла2[ ….]]]] — Копировать часть дескриптора безопасности отвечающего за список избирательного управления доступом, контролируемый владельцем файла и регламентирующий права пользователей и групп на действия с файлом (чтение, запись, удаление и т.д.) (Маска по умолчанию *)
[/CSFS[ МаскаФайла1[ МаскаФайла2[ ….]]]] — Копировать часть дескриптора безопасности отвечающего за аудит файла (Маска по умолчанию *)
[/CSD[ МаскаПапки1[ МаскаПапки2[ ….]]]] Копировать атрибуты безопасности папок (права доступа). Только для папок подходящих под маски. Ключ /CSD равноценен одновременной комбинации ключей /CSDO, /CSDG, /CSDD, /CSDS. (по умолчанию маска * — все)
[/CSDO[ МаскаПапки1[ МаскаПапки2[ ….]]]] — Копировать часть дескриптора безопасности отвечающего за владельца папки (Маска по умолчанию *)
[/CSDG[ МаскаПапки1[ МаскаПапки2[ ….]]]] — Копировать часть дескриптора безопасности отвечающего за групповае политики (Маска по умолчанию *)
[/CSDD[ МаскаПапки1[ МаскаПапки2[ ….]]]] — Копировать часть дескриптора безопасности отвечающего за список избирательного управления доступом, контролируемый владельцем папки и регламентирующий права пользователей и групп на действия с папкой (чтение, запись, удаление и т.д.) (Маска по умолчанию *)
[/CSDS[ МаскаПапки1[ МаскаПапки2[ ….]]]] — Копировать часть дескриптора безопасности отвечающего за аудит папки (Маска по умолчанию *)
[/NOF[ МаскаФайла1[ МаскаФайла2[ ….]]]] Нормализовать (транслитерировать) имена файлов. Только для файлов подходящих под маски. (по умолчанию маска * — все)
[/NOD[ МаскаПапки1[ МаскаПапки2[ ….]]]] Нормализовать (транслитерировать) имена папок. Только для папок подходящих под маски. (по умолчанию маска * — все)
[/LANG Язык] Приоритет языка при транслитерации. (по умолчанию RU) Возможные значения: RU-Русский, JBR-Иврит, HY-Армянский, UK-Украинский, BE-Беларусский, EL-Греческий, KA-Грузинский, LT-Литовский, TG-Таджикский, KK-Казахский, DE-Немецкий, SP-Испанский, FR-Французский, IT-Итальянский
[/STRF ИскомаяСтрока1=НоваяСтрока1[ ИскомаяСтрока2=НоваяСтрока2[ ….]]] Заменять строки в именах файлов (вместо пробелов писать {SP}). По умолчанию замена регистро зависимая (смотри ключ /ICF), в ключе /STRF возможно использование предопределённых переменных: {SP} — символ пробела, {DATE} — текущая дата, {DATETIME} — текущие дата и время, {YEAR} — номер года, {MONTHNAME} — название месяца, {DAYNAME} — название дня недели, {MONTHOFYEAR} — номер мясяца вгоду, {WEEKOFYEAR} — номер недели в году, {WEEKOFMONTH} — номер недели в месяце, {DAYOFYEAR} — номер дня года, DAYOFMONTH} — номер дня в месяце, {DAYOFWEEK} — номер дня в неделе, {HOUR} — часы, {MIN} — минуты, {SEC} — секунды, {MSEC} — миллисекунды, {CRDATETIME} — дата и время создания файла, {LADATETIME} — дата и время последнего доступа к файлу, {LWDATETIME} — дата и время последнего изменения файла, {FSIZE} — размер файла, {FDOS} — dos имя файла, {FMD5} — хэш файла md5 (контрольная сумма, осторожно! замедляет процесс копирования), {NUMBER} — порядковый номер файла в папке, {FNUMBER} порядковый номер файла при копировании, {DNUMBER} — порядковый номер папки при копировании, {FNAMEEXT} — имя и расширение файла, {FNAME} — имя файла, {FEXT} — расширение файла, {FEEXT} — расширение файла без точки, {QUOTE} — двойная кавычка, {EQUAL} — знак =
{BEGINсмещение_от_начала} — первые N символов от полного названия файла (включая расширение). Например — первые 5 {BEGIN5}
{MIDDLEсмещение_от_начала1-смещение_от_начала2} символы между смещение_от_начала1 до смещение_от_начала2 от полного названия файла (включая расширение). Например {MIDDLE2-4} символы между 2м и 4м (включительно)
{ENDсмещение_от_конца} — последние N символов от полного названия файла (включая расширение). Например — последние 3 {END3}
{MINчисло} — минимальная длина полного названия файла (включая расширение) при которой происходит замена с участием ключей {BEGIN..}{MIDDLE..-..}{END..}
{FBEGINсмещение_от_начала} — первые N символов от названия файла без расширения. Например — первые 5 {BEGIN5}
{FMIDDLEсмещение_от_начала1-смещение_от_начала2} символы между смещение_от_начала1 до смещение_от_начала2 от названия файла без расширения. Например {MIDDLE2-4} символы между 2м и 4м (включительно)
{FENDсмещение_от_конца} — последние N символов от названия файла без расширения. Например — последние 3 {END3}
{FMINчисло} — минимальная длина названия файла без расширения при которой происходит замена с участием ключей {FBEGIN..}{FMIDDLE..-..}{FEND..}
{EBEGINсмещение_от_начала} — первые N символов от расширения файла (включая точку). Например — первые 5 {BEGIN5}
{EMIDDLEсмещение_от_начала1-смещение_от_начала2} символы между смещение_от_начала1 до смещение_от_начала2 от расширения файла (включая точку). Например {MIDDLE2-4} символы между 2м и 4м (включительно)
{EENDсмещение_от_конца} — последние N символов от расширения файла (включая точку). Например — последние 3 {END3}
{EMINчисло} — минимальная длина расширения файла (включая точку) при которой происходит замена с участием ключей {EBEGIN..}{EMIDDLE..-..}{EEND..}
[/ICF] переключает замену в ключе /STRF на регистронезависимую
[/REPF НачальнаяПозиция[ КонечнаяПозиция[ ЧемЗаменить]]] В именах файлов заменяет текст с начальной по конечную позицию. Новый текст может содержать предопределённые переменные как в ключе /STRF. Нумерация позиций начинается с 1. Позиция с номером 0 соответствует перед первым символом названия файла. Позиция с номером большим длины названия файла соответствует первой позиции за последней буквой названия файла. При равенстве начальной и конечной позиций замена производится для одного символа названия файла. Ключ /REPF отрабатывает первым (при сочетании с другими ключами замены). Позиции по умолчанию = 1, текст пустой.
[/INSF ПозицияВставки[ ЧтоВставить]] В именах файлов вставляет текст в указанную позицию сдвигая вправо. Новый текст может содержать предопределённые переменные как в ключе /STRF. Нумерация позиций начинается с 1. Позиция с номером 0 соответствует перед первым символом названия файла. Позиция с номером большим длины названия файла соответствует первой позиции за последней буквой названия файла. Ключ /INSF отрабатывает первым (при сочетании с другими ключами замены) и вторым при сочетании с ключем /REPF. Позиция по умолчанию = 1, текст пустой.
[/STRD ИскомаяСтрока1=НоваяСтрока1[ ИскомаяСтрока2=НоваяСтрока2[ ….]]] Заменять строки в именах папок (вместо пробелов писать {SP}) По умолчанию замена регистро зависимая (смотри ключ /ICD), в ключе /STRD возможно использование предопределённых переменных: {DATE} — текущая дата, {DATETIME} — текущие дата и время, {YEAR} — номер года, {MONTHNAME} — название месяца, {DAYNAME} — название дня недели, {MONTHOFYEAR} — номер мясяца вгоду, {WEEKOFYEAR} — номер недели в году, {WEEKOFMONTH} — номер недели в месяце, {DAYOFYEAR} — номер дня года, DAYOFMONTH} — номер дня в месяце, {DAYOFWEEK} — номер дня в неделе, {HOUR} — часы, {MIN} — минуты, {SEC} — секунды, {MSEC} — миллисекунды, {DNUMBER} — порядковый номер папки при копировании, {DNAME} — имя папки, {QUOTE} — двойная кавычка, {EQUAL} — знак =
[/ICD] переключает замену в ключе /STRD на регистронезависимую
[/REPD НачальнаяПозиция[ КонечнаяПозиция[ ЧемЗаменить]]] В именах папок заменяет текст с начальной по конечную позицию. Новый текст может содержать предопределённые переменные как в ключе /STRD. Нумерация позиций начинается с 1. Позиция с номером 0 соответствует перед первым символом названия папки. Позиция с номером большим длины названия папки соответствует первой позиции за последней буквой названия папки. При равенстве начальной и конечной позиций замена производится для одного символа названия папки. Ключ /REPD отрабатывает первым (при сочетании с другими ключами замены). Позиции по умолчанию = 1, текст пустой.
[/INSD ПозицияВставки[ ЧтоВставить]] В именах папок вставляет текст в указанную позицию сдвигая вправо. Новый текст может содержать предопределённые переменные как в ключе /STRD. Нумерация позиций начинается с 1. Позиция с номером 0 соответствует перед первым символом названия папки. Позиция с номером большим длины названия папки соответствует первой позиции за последней буквой названия папки. Ключ /INSD отрабатывает первым (при сочетании с другими ключами замены) и вторым при сочетании с ключем /REPD. Позиция по умолчанию = 1, текст пустой.
[/DTF[ Маска даты]] Маска даты и времени для вывода (используется в переменных {DATETIME}{CRDATETIME}{LADATETIME}{LWDATETIME}). (по умолчанию маска yyyymmddhhnnss)
Маска даты может cодержать следующие управляющие символы:
y = Год из 2-х последних цифр, yy = Год из 2-х последних цифр, yyyy = Год из 4-х цифр, m = Номер месяца без 0, mm = Номер месяца как 2 цифры,mmm = Месяц используя ShortDayNames (Янв), mmmm = Месяц используя LongDayNames (Январь), d = Число без 0, dd = Число как 2 цифры, ddd = Число используя ShortDayNames (Воск), dddd = Число используя LongDayNames (Воскресенье), ddddd = Число в ShortDateFormat, dddddd = Число в LongDateFormat, c = Используя ShortDateFormat + LongTimeFormat, h = Час без 0, hh = Час как 2 цифры, n = Минуты без 0, nn = Минуты как 2 цифры, s = Секунды без 0, ss = Секунды как 2 цифры, z = Миллисекунды без 0, zzz = Миллисекунды как 2 цифры, t = Используя ShortTimeFormat, tt = Используя LongTimeFormat и любые другие, допустимые в именах файлов и папок, символы.
ВАЖНО!!! По умолчанию переименование отключает функции зеркалирования (/MIR и подобные). Исключение составляют ключи добавления или удаления расширения файлам при сжатиии, разжатии, компрессии и декомпрессии /COADD /DECODEL /CRADD /DECRDEL. Используя ключ /ALWAIS можно вернуть функциям зеркалирования функциональность. При использовании ключа /ALWAIS учитывайте что все переименованные файлы будут удалены в целевой папке если таковые не присутствуют в исходной папке. По сути, в целевой папке, останутся только не переименованные файлы.
[/COMP] Режим совместимости шифрования с версиями программы CopyMik ниже 2.22 при использовании внешнего файла в качестве ключа шифрования. ВАЖНО!!! Начиная с версии программы 2.22, с целью повышения криптостойкости, в процесс обработки внешнего ключа шифрования в виде внешнего файла внесены изменения. Файлы зашифрованные в версии программы 2.21 и ниже должны дешифроваться с ключём /COMP Изменения произошли только при использовании ключа шифрования в виде внешнего файла. При использовании только пароля или сочетания пароля и внешнего файла ключа, для совместимости со старыми версиями CopyMik (от 2.21 и ниже) ключ /COMP не требуется!
[/C223] Режим совместимости шифрования и дешифрования с версиями программы CopyMik ниже 2.24 для ключей /B /R /PASS /CRPASS /DECRPASS (где пароль вводился в коммандной строке)
[/CR[ МаскаФайла1[ МаскаФайла2[ ….]]]] Шифровать файлы с указанными масками (В рамках ограничений ключей /MF,/MD,/XCD,/XCF,/XDMD,/XDMF). (по умолчанию маска * — все)
[/CREX МаскаФайла1[ МаскаФайла2[ ….]]] Не шифровать файлы с указанными масками. (В рамках ограничений ключа /CR)
[/CRM Алгоритм] Изменить алгоритм шифрования. (по умолчанию DES *). Возможные значения: DES, BLOWFISH, CAST128, 3DES, ICE, THINICE, ICE2, RC2, RC4, RIJNDAEL, SERPENT, TEA, TWOFISH
[/CRADD[ Текст]] При шифровании добавлять к имени файла текст (по умолчанию .cmcrypt). Без указанного ключа переименование не происходит!
[/CRPASS Пароль] Пароль для шифрования
[/CRPF ФайлКлючаШифрования] Файл с ключем шифрования. Максимальный размер 2Gb минус размер пароля (если пароль задан). Возможно совместное использование файла ключа и пароля.
[/PASS пароль] — пароль шифрования и дешифрования одновременно (заменяет /CRPASS и /DECRPASS одновременно)
[/WPASS] — видимый интерактивный ввод пароля шифрования и дешифрования одновременно (заменяет /CRPASS и /DECRPASS одновременно), символы пароля отображаются в консоли
[/HPASS] — скрытый интерактивный ввод пароля шифрования и дешифрования одновременно (заменяет /CRPASS и /DECRPASS одновременно), символы пароля заменяются знаком *
ВАЖНО!!! Если Вы не использовали пароль при шифровании то CopyMik использует внутренний пароль. В этом случае любой кто имеет CopyMik сможет дешифровать Ваши файлы используя пустой пароль.
[/DECR[ МаскаФайла1[ МаскаФайла2[ ….]]]] Дешифровать файлы с указанными масками (В рамках ограничений ключей /MF,/MD,/XCD,/XCF,/XDMD,/XDMF). (по умолчанию маска * — все)
[/DECREX МаскаФайла1[ МаскаФайла2[ ….]]] Не дешифровать файлы с указанными масками. (В рамках ограничений ключа /DECR)
[/DECRM Алгоритм] Изменить алгоритм дешифрования. (по умолчанию DES *). Возможные значения: DES, BLOWFISH, CAST128, 3DES, ICE, THINICE, ICE2, RC2, RC4, RIJNDAEL, SERPENT, TEA, TWOFISH
[/DECRDEL[ Текст]] При дешифровании убирать из имени файла текст (по умолчанию .cmcrypt). Без указанного ключа переименование не происходит!
[/DECRPASS Пароль] Пароль для дешифрования
[/DECRPF ФайлКлючаДешифрования] Файл с ключем дешифрования. Максимальный размер 2Gb минус размер пароля (если пароль задан). Возможно совместное использование файла ключа и пароля.
ВАЖНО!!! при шифровании, CopyMik не внедряет в зашифрованный файл пароль и признак алгоритма шифрования. Если Вы неправильно введёте пароль или выберете отличный от того что использовался при шифровании алгоритм дешифровки сообщение об ошибке показано не будет. Дешифровка пройдёт до конца, понятно, что в этом случае данные не будут соответствовать тем что были до шифрования. Хранение пароля и алгоритма шифрования находится целиком в ведении пользователя. Единственный способ проверки правильности дешифровки файлов это использование сжатия, если пароль был неправильным то при разжатии файлов вы получите сообщение о ошибке «ERROR: …. By decompress file (data error) …»
[/CO[ МаскаФайла1[ МаскаФайла2[ ….]]]] Сжимать файлы с указанными масками (В рамках ограничений ключей /MF,/MD,/XCD,/XCF,/XDMD,/XDMF). (по умолчанию маска * — все)
[/COEX МаскаФайла1[ МаскаФайла2[ ….]]] Не сжимать файлы с указанными масками. (В рамках ограничений ключа /CO)
[/COADD[ Текст]] При сжатии добавлять к имени файла текст (по умолчанию .cmcomp). Без указанного ключа переименование не происходит!
[/DECO[ МаскаФайла1[ МаскаФайла2[ ….]]]] Разжать файлы с указанными масками (В рамках ограничений ключей /MF,/MD,/XCD,/XCF,/XDMD,/XDMF). (по умолчанию маска * — все)
[/DECOEX МаскаФайла1[ МаскаФайла2[ ….]]] Не расжимать файлы с указанными масками. (В рамках ограничений ключа /DECO)
[/DECODEL[ Текст]] При разжатии убирать из имени файла текст (по умолчанию .cmcomp). Без указанного ключа переименование не происходит!
[/B пароль] Резервное копирование со сжатием и шифрованием (аналог комбинации ключей /CO /CR /COADD /CRADD /OF)
[/R пароль] Восстановление из резервной копии с дешифрованием и разжатием (аналог комбинации ключей /DECO /DECR /DECODEL /DECRDEL /OF)
[/USR] Выводить на экран текущее имя пользователя windows от которого запущен copymik
[/ERR] В выводе показывать только ошибки
[/DSKIP] Не показывать информацию о созданных папках (в сочетании с ключём /NSKIP оставит в выводе только информацию о скопированных файлах и ошибках)
[/NSKIP] Не показывать информацию о пропущенных файлах
[/NSTAT] Не показывать конечную статистику
[/ND] Не выводить лог на экран
[/PRIORITY [название приоритета]] Изменить приоритет выполнения программы. Название приоритета может принимать значения SUPER_LOW (или LOW-), LOW, BELOW_NORMAL (или NORMAL-), NORMAL, ABOVE_NORMAL (или NORMAL+), HIGEST (или MAX). По умолчанию — NORMAL. Допускается сокращенная форма ключа [/PR [название приоритета]]
[/TH[ МаксимальноеКоличествоПараллельныхПотоков]] Максимальное количество параллельных потоков обработки файлов (по умолчанию равно количеству процессоров минус 1. Минимум = 1 и максимум = 100)
[/STH] Выводить на экран или в лог количество активных потоков в данный момент. Например: (3) — означает — три потока активны в данный момент. (Если количество потоков = 0 значит в момент создания сообщения последний поток уже завершил работу)
[/CP номер] Кодовая страница вывода в консоль (по умолчанию 65001 — UTF8). Возможные значения: 0 — ANSI, 1 — OEM, 2 — MAC, 3 — threads ANSI, 866 — OEM RUS, 65000 — UTF7, 65001 — UTF8 итд -1 (с минусом) отключает изменени кодировки. Шрифт консоли должен позволять отображать эту кодировку!
[/LOG[ ПутьИЛогФайл]] запись лог в файл (UTF8 включая Маркер последовательности байтов — BOM) (по умолчанию CopyMik_{DATETIME}.log в текущей папке). Если файл уже существует он будет перезаписан. Запись в рамках ограничений ключей /ERR, /NSKIP и /NSTAT. В имени файла и пути возможно использование предопределённых переменных: {SP} — символ пробела, {DATE} — дата начала копирования, {DATETIME} — дата и время начала копирования (смотри ключ /DTF), {YEAR} — номер года, {MONTHNAME} — название месяца, {DAYNAME} — название дня недели, {MONTHOFYEAR} — номер мясяца вгоду, {WEEKOFYEAR} — номер недели в году, {WEEKOFMONTH} — номер недели в месяце, {DAYOFYEAR} — номер дня года, DAYOFMONTH} — номер дня в месяце, {DAYOFWEEK} — номер дня в неделе, {HOUR} — часы, {MIN} — минуты, {SEC} — секунды, {MSEC} — миллисекунды, {QUOTE} — двойная кавычка, {EQUAL} — знак =. Формат {DATETIME} задаёт ключ /DTF
[/ADDLOG] писать в конец лог файла если таковой уже усществует
[/LCSV [разделитель]] Писать лог в формате файла с разделителями (как CSV). Разделитель по умолчанию символ ; (возможно использование переменных {SP} — символ пробела и {TAB} — символ табуляции). Колонки: 1я — Статус, 2я — Сообщение, 3я — Исходный файл и/или папка, 4я — Целевой файл и/или папка
[/DCSV [разделитель]] Выводить лог на экран в формате файла с разделителями (как CSV). Разделитель по умолчанию символ ; (возможно использование переменных {SP} — символ пробела и {TAB} — символ табуляции). Колонки: 1я — Статус, 2я — Сообщение, 3я — Исходный файл и/или папка, 4я — Целевой файл и/или папка
[/NOLOGTIME] — не выводить на экран и в лог время завершения текущей операции (для совместимости со старым логом)
[/ADM] Перезапускать copymik с привилегиями администратора (если таковые есть у текущего пользователя)
[/VF[ МаскаФайла1[ МаскаФайла2[ ….]]]] Верификация скопированных файлов (по маске файла). Не совместима со сжатием и шифрацией. ОСТОРОЖНО!!! Cильно замедляет копирование!. Ограничен рамками ключа /VD (если он задан). (по умолчанию маска * — все)
[/VD[ МаскаПапки1[ МаскаПапки2[ ….]]]] Верификация скопированных файлов (по маске папки). Не совместима со сжатием и шифрацией. ОСТОРОЖНО!!! Cильно замедляет копирование!. Ограничен рамками ключа /VF (если он задан). (по умолчанию маска * — все)
[/NVF МаскаФайла1[ МаскаФайла2[ ….]]] Не верифицировать файлы с указанными масками. Работает в рамках ключей /VF и/или /VD
[/NVD МаскаПапки1[ МаскаПапки2[ ….]]] Не верифицировать файлы в папках с указанными масками. Работает в рамках ключей /VF и/или /VD
[/MVS РазмерФайлаВБайтах] Максимальный размер файла для верификации в байтах (по умолчанию -1 не ограничен). Работает в рамках ключей /VF и/или /VD
[/NHP] Отключить постраничный вывод справочной информации (без паузы). Автоматически включает ключ /HELP
[/PAUSE] Пауза после завершения программы
[/PAUSEBYERROR] Пауза после завершения программы только если произошла ошибка
[/SE] Останавливаться после первой ошибки.
[/REPEAT [КоличествоПовторов]] Количество повторов при ошибке доступа. По умолчанию 3 повтора. 0 — повторять бесконечно. (если установлен ключ /SE или /TEST то повторы не производятся)
[/WAIT [секунд]] Пауза между повторами при ощибке доступа. По умолчанию 15 секунд.
[/TEST] Тестовый режим. Реальное копирование, сжатие, шифрация и удаление не производятся. При отсутствии сетевого соединения с целевой папкой предполагается что целевая папка отсутствует. (повтор соединения производиться не будет). В тестовом режиме проверка целевых папок и файлов проводится в ограниченном объёме. Возможные ошибки соединения, совместного доступа, установки прав, дат, и атрибутов, недостаток места на диске выявлены не будут.
[/BEEP] — издать звук если произошла ошибка или предупреждение
[/SBEEP] — издать звук при старте программы
[/EBEEP] — издать звук при завершении программы
[/WBEEP] — издать звук при ожидании/повторе
[/SETEXITCODE] В качестве кода возврата программы использовать количество скопированных файлов (от 0 до N) а если произошла ошибка то количествоошибок со знаком минус (от -N до -1). (Напр. для использования в пакетных файлах).
[/EXEC команда] Для каждого успешно скопированного файла выполнить программу или командный файл. Возможно использование переменных: {SRCFILE} — исходный файл, {DSTFILE} — файл назначения, {SRCDIR} — исходная папка, {DSTDIR} — папка назначения, {SRC} — исходный файл и путь к нему,{DST} — файл и папка назначения, {DATE} — текущая дата, {DATETIME} — текущие дата и время, {YEAR} — номер года, {MONTHNAME} — название месяца, {DAYNAME} — название дня недели, {MONTHOFYEAR} — номер мясяца вгоду, {WEEKOFYEAR} — номер недели в году, {WEEKOFMONTH} — номер недели в месяце, {DAYOFYEAR} — номер дня года, DAYOFMONTH} — номер дня в месяце, {DAYOFWEEK} — номер дня в неделе, {HOUR} — часы, {MIN} — минуты, {SEC} — секунды, {MSEC} — миллисекунды, {NUMBER} — порядковый номер файла в папке, {QUOTE} — двойная кавычка, {FNUMBER} порядковый номер файла при копировании, {DNUMBER} — порядковый номер папки при копировании,{SP} — символ пробела (символы пробелов просьба заменять на {SP}, формат даты задаёт ключ /DTF)
[/EXECPARAM параметры] Параметры для запускаемой в /EXEC программы или коммандного файла. Возможно использование переменных: {SRCFILE} — исходный файл, {DSTFILE} — файл назначения, {SRCDIR} — исходная папка, {DSTDIR} — папка назначения, {SRC} — исходный файл и путь к нему,{DST} — файл и папка назначения, {DATE} — текущая дата, {DATETIME} — текущие дата и время, {YEAR} — номер года, {MONTHNAME} — название месяца, {DAYNAME} — название дня недели, {MONTHOFYEAR} — номер мясяца вгоду, {WEEKOFYEAR} — номер недели в году, {WEEKOFMONTH} — номер недели в месяце, {DAYOFYEAR} — номер дня года, DAYOFMONTH} — номер дня в месяце, {DAYOFWEEK} — номер дня в неделе, {HOUR} — часы, {MIN} — минуты, {SEC} — секунды, {MSEC} — миллисекунды, {NUMBER} — порядковый номер файла в папке, {QUOTE} — двойная кавычка, {FNUMBER} порядковый номер файла при копировании, {DNUMBER} — порядковый номер папки при копировании,{SP} — символ пробела (символы пробелов просьба заменять на {SP}, формат даты задаёт ключ /DTF)
[/ENDEXEC команда] Если в процессе копирования не возникло ни одной ошибки то выполнить программу или командный файл. Возможно использование переменных: {SRCDIR} — исходная папка, {DSTDIR} — папка назначения, {LOG} — лог файл и путь к нему, {LOGFILE} — лог файл, {LOGPATH} — путь к лог файлу, {DATE} — текущая дата, {DATETIME} — текущие дата и время, {YEAR} — номер года, {MONTHNAME} — название месяца, {DAYNAME} — название дня недели, {MONTHOFYEAR} — номер мясяца вгоду, {WEEKOFYEAR} — номер недели в году, {WEEKOFMONTH} — номер недели в месяце, {DAYOFYEAR} — номер дня года, DAYOFMONTH} — номер дня в месяце, {DAYOFWEEK} — номер дня в неделе, {HOUR} — часы, {MIN} — минуты, {SEC} — секунды, {MSEC} — миллисекунды, {QUOTE} — двойная кавычка, {FNUMBER} Количество скопированных файлов, {DNUMBER} — количество пройденных папок,{SP} — символ пробела (символы пробелов просьба заменять на {SP}, формат {DATETIME} задаёт ключ /DTF)
[/ENDEXECPARAM параметры]] Параметры для запускаемой в /ENDEXEC программы или коммандного файла. Возможно использование переменных: {SRCDIR} — исходная папка, {DSTDIR} — папка назначения, {LOG} — лог файл и путь к нему, {LOGFILE} — лог файл, {LOGPATH} — путь к лог файлу, {DATE} — текущая дата, {DATETIME} — текущие дата и время, {YEAR} — номер года, {MONTHNAME} — название месяца, {DAYNAME} — название дня недели, {MONTHOFYEAR} — номер мясяца вгоду, {WEEKOFYEAR} — номер недели в году, {WEEKOFMONTH} — номер недели в месяце, {DAYOFYEAR} — номер дня года, DAYOFMONTH} — номер дня в месяце, {DAYOFWEEK} — номер дня в неделе, {HOUR} — часы, {MIN} — минуты, {SEC} — секунды, {MSEC} — миллисекунды, {QUOTE} — двойная кавычка, {FNUMBER} Количество скопированных файлов, {DNUMBER} — количество пройденных папок,{SP} — символ пробела (символы пробелов просьба заменять на {SP}, формат {DATETIME} задаёт ключ /DTF)
[/ENDERREXEC команда] Если в процессе копирования возникла минимум одна ошибка то выполнить программу или командный файл. Возможно использование переменных: {SRCDIR} — исходная папка, {DSTDIR} — папка назначения, {LOG} — лог файл и путь к нему, {LOGFILE} — лог файл, {LOGPATH} — путь к лог файлу, {DATE} — текущая дата, {DATETIME} — текущие дата и время, {YEAR} — номер года, {MONTHNAME} — название месяца, {DAYNAME} — название дня недели, {MONTHOFYEAR} — номер мясяца вгоду, {WEEKOFYEAR} — номер недели в году, {WEEKOFMONTH} — номер недели в месяце, {DAYOFYEAR} — номер дня года, DAYOFMONTH} — номер дня в месяце, {DAYOFWEEK} — номер дня в неделе, {HOUR} — часы, {MIN} — минуты, {SEC} — секунды, {MSEC} — миллисекунды, {QUOTE} — двойная кавычка, {FNUMBER} Количество скопированных файлов, {DNUMBER} — количество пройденных папок,{SP} — символ пробела (символы пробелов просьба заменять на {SP}, формат {DATETIME} задаёт ключ /DTF), {ERRORS} — количество ошибок
[/ENDERREXECPARAM параметры]] Параметры для запускаемой в /ENDERREXEC программы или коммандного файла. Возможно использование переменных: {SRCDIR} — исходная папка, {DSTDIR} — папка назначения, {LOG} — лог файл и путь к нему, {LOGFILE} — лог файл, {LOGPATH} — путь к лог файлу, {DATE} — текущая дата, {DATETIME} — текущие дата и время, {YEAR} — номер года, {MONTHNAME} — название месяца, {DAYNAME} — название дня недели, {MONTHOFYEAR} — номер мясяца вгоду, {WEEKOFYEAR} — номер недели в году, {WEEKOFMONTH} — номер недели в месяце, {DAYOFYEAR} — номер дня года, DAYOFMONTH} — номер дня в месяце, {DAYOFWEEK} — номер дня в неделе, {HOUR} — часы, {MIN} — минуты, {SEC} — секунды, {MSEC} — миллисекунды, {QUOTE} — двойная кавычка, {FNUMBER} Количество скопированных файлов, {DNUMBER} — количество пройденных папок,{SP} — символ пробела (символы пробелов просьба заменять на {SP}, формат {DATETIME} задаёт ключ /DTF), {ERRORS} — количество ошибок
ВАЖНО!!! результат работы ключей /ENDEXEC и /ENDERREXEC не записывается в лог файл (смотри ключ /LOG), вывод производится только на дисплей. На момент выполнения этих ключей лог файл уже закрыт и доступен для манипуляций
Пример 1:
copymik.exe c:\Documents d:\DocArchiv /MIR
Что делает:
Создать зеркальную копию папки Documents в папке DocArchiv.
Пример 2:
copymik.exe c:\Documents d:\DocArchiv /MD buch* progr* important* /MF *.txt *.cpp *.jpg *.bmp /XCD .svn tmp* /XCF *.tmp *.db /OF
Что делает:
Копирует все файлы с масками *.txt *.cpp *.jpg *.bmp из папок с масками buch* progr* important*
при этом не копирует папки с масками .svn tmp*.
и не копирует файлы с масками *.tmp *.db и перезаписывает существующие файлы
Пример 3:
copymik.exe c:\Documents d:\DocArchiv /MD buch* progr* important* /MF *.txt *.cpp *.jpg *.bmp /XDMD important* /XDMF important* /OF
Что делает:
Копирует все файлы с масками *.txt *.cpp *.jpg *.bmp из папок с масками buch* progr* important*
папки с масками important* копируются полностью
если файлы существуют они перезаписываются
Пример 4:
copymik.exe c:\Documents d:\DocArchiv
Что делает:
Просто скопирует файлы из папки Documents в папку DocArchiv воссоздав исходную структуру папок. Если в целевой папке уже существуют то они будут пропущены (перезаписи не произойдёт).
Пример 5:
copymik D:\Documents\ c:\EncryptByckup /MF *.txt *.doc *.rtf *.bin /CR /CRADD /CREX *.bin /CRPASS tralala /OF
Что делает:
Копирует файлы с масками *.txt *.doc *.rtf *.bin из папки Documents в папку EncryptByckup воссоздав исходную структуру папок. Файлы с маской *.txt *.doc *.rtf при копировании шифруются и к их названию добавляется текст «.cmcrypt». Файлы с маской *.bin не шифруются и не переименовываются. Если файлы в папке назначения уже есть то они перезаписываются. Пароль для шифрования «tralala», алгоритм по умолчанию DES.
Пример 6:
copymik D:\Documents c:\EncryptByckup /MIR /CR /CRADD /CRPASS tralala
Что делает:
Создать зеркальную копию папки Documents в папке EncryptByckup. Все файла зашифровать и добавить к их имени текст «.cmcrypt». Пароль для шифрования «tralala», алгоритм по умолчанию DES. Если в целевой папке файл присутствует а в исходной нет то он удаляется.
Пример 7:
copymik D:\EncryptByckup c:\Documents /MIR /DECR /DECRDEL /DECRPASS tralala
Что делает:
Создать зеркальную копию папки EncryptByckup в папке Documents. Все файлы дешифровать и убрать из их имени текст «.cmcrypt». Пароль для дешифрования «tralala», алгоритм по умолчанию DES. Если в целевой папке файл присутствует а в исходной нет то он удаляется.
Пример 8:
copymik D:\EncryptByckup c:\Documents /B мойпароль
Что делает:
Создать резервную копию папки EncryptByckup в папке Documents. Все файлы сжать и шифровать и добавить к их имени текст «.cmcomp.cmcrypt». Пароль для шифрования «мойпароль».
Пример 9:
copymik D:\EncryptByckup c:\Documents /B мойпароль /DT 1
Что делает:
В отличии от примера 8 сжимать и шифровать только файлы с датой изменения вчера и сегодня (минус 1 день). Пароль для шифрования «мойпароль».
Пример 10:
copymik c:\Documents D:\EncryptByckup /R мойпароль
Что делает:
Восстанавливает (дешифрует, разжимает и копирует) файлы из папки Documents в папку EncryptByckup. Пароль для дешифрования «мойпароль».
Пример 11:
copymik c:\Documents d:\Documents /NOF /NOD
Что делает:
Копирует файлы из папки c:\Documents в папку d:\Documents. При копировании транслитерировать имена файлов и папок.
Пример 12:
copymik c:\Documents d:\Documents /STRD папка{SP}22=papka{SP}55 /STRF {FEXT}=.abr
Что делает:
Копирует файлы из папки c:\Documents в папку d:\Documents. При копировании заменяет в именах папок текст «папка 22» на «papka 55» а в именах файлов расширение на «.abr».
Пример 13:
copymik c:\Documents d:\Documents /MF *.doc /OF /CO /CR /CRPASS пароль /EXEC sendmail.bat /EXECPARAM {QUOTE}{DST}{QUOTE}
Что делает:
Сжимает, шифрует и копирует файлы с расширением doc (если файл существует то перезаписывает) из папки c:\Documents в папку d:\Documents. При успешном копировании запускает sendmail.bat передав ему в качестве параметра путь и имя файла назначения заключив их в двойные кавычки.
Пример 14:
copymik c:\Documents d:\Archiv /MF *.doc /OF /LOG c:\Logs\BackupDoc\DocCopyLog_{DATETIME}.csv /LCSV {TAB} /ND /ENDERREXEC SendLogPerEmailToAdmin.bat /ENDERREXECPARAM {LOG} /ENDEXEC CopyToArchiv.bat /ENDEXECPARAM {LOG}
Что делает:
Копирует файлы с расширением doc (если файл существует то перезаписывает) из папки c:\Documents в папку d:\Archiv. Процесс документируется в лог файл в формате CSV с разделителями — табуляцией. Имя лог файла — DocCopyLog_ДатаВремяНачалаКопирования.csv. Вывод информации на экран отключен. Если в процессе копирования произошла хоть одна ошибка запускается bat файл SendLogPerEmailToAdmin.bat которому в качестве параметра передаётся лог файл (напр для отправки лога алминистратору по электронной почте). Если ошибок не произошло лог передается в bat файл CopyToArchiv.bat (например для перемещения в архив)
Пример 15:
copymik c:\Documents d:\Archiv /DELF *.tmp /DELFD *LOG*
Что делает:
Копирует все файлы из папки c:\Documents в папку d:\Archiv. А файлы с маской *.tmp в папках с маской *LOG* перемещает.
Пример 16:
copymik c:\Documents d:\Archiv /MF *.doc /OF /SDTSF
Что делает:
Копирует все doc файлы из папки c:\Documents в папку d:\Archiv. Перезаписываются только отличающиеся по размеру или дате файлы.
Пример 17:
copymik.exe c:\source d:\dist /PRIORITY LOW-
Что делает:
Копирует файлы с минимальным приоритетом выполнения copymik (фоново, без загрузки ресурсов системы)
Пример 18:
Автоматическая отправка лога ошибок (или любого другого изменённого файла) администратору на E-Mail
Реализация:
1. Создаем коммандный файл CheckErrorLog.cmd следующего содержания:
REM Перемещаем файл лога ошибок (*.elf) в архив предварительно переименовав (вставив в название дату и время перемещения),
REM в случае если перемещение произошло запускаем командный файл EmailByError.bat передав ему в качестве параметра перемещенный файл
\\Server\ELF\copymik.exe \\Server\\ProgramFolder \\Server\ELF\ALT /MF *.elf /NSKIP /XCD * /OF /SDTSF /DELF *.elf /STRF {FEXT}=.{DATETIME}{FEXT} /EXEC \\Server\ELF\EmailByError.bat /EXECPARAM {QUOTE}{DST}{QUOTE}{SP}{QUOTE}{SRC}{QUOTE}
2. Создаем сомандный файл EmailByError.bat, для отправки лога на E-Mail администратора, следующего содержания (указываются E-Mail получателя и отправителя, заголовок E-Mail, IP SMTP Сервера и лог фал отправки):
rem Отправка E-Mail
\\Server\ELF\blat.exe %1 ^
-to administrator@domain.ru,Vasiliy Pupkin ^
-debug -timestamp -log blatSMTPlog.txt ^
-s «В программе произошла ошибка %1» ^
-i sender@domain.ru ^
-f «sender@domain.ru» ^
-q -server 192.168.1.22
3. Далее создаёте периодически выполняющийся крон, запускающий CheckErrorLog.cmd на выполнение. Как только файл лога ошибок появится в папке программы он будет отправлен на указанный Вами E-Mail. Для отправки E-Mail автор использует свободно распостраняемую программу blat
Пример 19:
copymik.exe C:\backup\20160302103207\ C:\Documents\ /R mypassword /MF contract154.doc.cmcomp.cmcrypt /XCD
Что делает:
Восстановить из резервной копии один файл — contract154.doc. Не восстанавливая дерево папок.
Пример 20:
Использование кода возврата программы copymik в пакетном файле:
REM **********************
REM Backup file backup.bat
REM **********************
cls
@echo off
set /P pass=»Password: «
if %pass% EQU «» exit /b 1
rem Backup C:\Documents\ in C:\Backup\{DATETIME}\ all files modified today
copymik C:\Documents\ C:\Backup\{DATETIME}\ /LOG c:\backup_{DATETIME}.log /SETEXITCODE /B %pass% /DT
if %ERRORLEVEL% EQU 0 goto :NOTCOPIED
if %ERRORLEVEL% GTR 0 goto :COPIED
if %ERRORLEVEL% LSS 0 goto :ERRCOPY
goto :EOF
:COPIED
REM %ERRORLEVEL% files copied
move c:\backup_*.log c:\Archiv\
goto :EOF
:ERRCOPY
REM %ERRORLEVEL% errors by copy
move c:\backup_*.log c:\Error\
goto :EOF
:NOTCOPIED
REM %ERRORLEVEL% = 0, files not copied
move c:\backup_*.log c:\Temp\
goto :EOF
REM **********************
REM End file backup.bat
REM **********************
Пример 21:
copymik c:\Documents c:\backup /REPF 2 3 _{DATETIME}_
Что делает:
Копирует файлы и папки из c:\Documents в c:\backup заменяя в названиях файлов со 2го по 3й символ включительно текущей датой обрамлённой символами подчеркивания.
Пример 22: Создание теневой копии тома C: и запуск пакетного файла с передачей в него ссылки на теневую копию для копирования
VsToolkit.exe -exec=test.bat c:
В bat файле:
copymik.exe %1\SourceFolder d:\DistFolder /CMF ….
Подробнее:
Начиная с версии 2.14 Copymik совместим с теневыми копиями томов (теневое копирование VSS).
Теневое копирование (VSS) — технология Microsoft (c) встроенная в Windows (c) начиная c Vista (c) позволяющая копировать, открытые в момент копирования на редактирования, файлы. Сервисы VSS делают поблочный снимок тома файловой системы (только изменяемых в данный момент блоков) и предоставляет доступ к теневому снимку тома по специальной ссылке.
Далее эту ссылку можно использовать как обычный path к нужному Вам тому файловой системы. Копирование из него не приведёт теперь к ошибке совместного доступа. Обращаю внимание что технология работает только на уровне тома файловой системы. Вы не можете создать снимок какой то определённой папки, только всего тома. Поэтому воспринимайте ссылку на теневую копию как имя тома ( например для диска C: ссылка может выглядеть как \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1 ). Получить список активных снимков томов можно командой vssadmin List Shadows. Соответственно копирование из теневой папки c:\Documents будет выглядеть как copymik.exe \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Documents D:\Backup
В большинстве случаев copymik сама определит что копирование осуществляется из теневой копии тома и включит режим совместимого копирования. Если этого не произойдёт автоматически есть ключ /CMF включающий этот режим. Инициировать создание теневой копии можно как средствами самой Windows (c) так и специальными утилитами запускающими этот процесс в системе. Я использую для этих целей бесплатную утилиту VsToolkit.exe (вложена в архив с copymik). Её удобство не только в том что она инициирует процесс создания теневой копии тома но и в том что она может передать ссылку на новую теневую копию в другую программу (напр. в bat файл), передача всегда происходит первым параметрном. Например следующая команда инициирует создание теневой копии тома C: и передаёт ссылку на неё в bat файл запуская его на выполнение VsToolkit.exe -exec=test.bat c:
В сам bat файл достаточно вставить комманду вида copymik.exe %1\ИсходнаяПапка\ d:\ЦелеваяПапка /CMF …. (ключ /CMF скорее всего не понадобится). Примите во внимание что максимальное количество теневых копий тома в системе 64 (манипулируя реестром это число можно изменить). Если это число достигло своего максимального значения или место под теневые копии закончилось процесс зациклится и первая теневая копия будет перезаписана.
В настройках операционной системы можно задать объем диска под теневые копии. С целью увеличения производительности создания теневых копий и копирования из них желательно размещать их на другом физическом диске. Время создания теневой копии зависит от производительности и нагруженности файловой системы и количества открытых на изменение файлов, (у меня для тома размером 1 террабайт процесс занимает в среднем 30-40 секунд, у Вас это время может отличаться).
Пример 23:
copymik c:\Documents c:\backup /B /CAD -P /CAF -S /BREPL /EXMREPL *.bak.cmcomp.cmcrypt *.tmp.cmcomp.cmcrypt
Что делает:
Архивирует файлы и папки из c:\Documents в c:\backup. Из архивирования исключаются папки с артибутом — точка входа и файлы с атрибутом системный. Если в целевой папке файлы с таким названием уже есть то перед заменой они копируются в папку c:\Documents_BDEL\{DATETIME}. Файлы с расширением .bak.cmcomp.cmcrypt и .tmp.cmcomp.cmcrypt перезаписываются без предварительного копирования в папку c:\Documents_BDEL\{DATETIME}
Пример 24:
copymik c:\Documents d:\Backup /STRF {FNAME}={FBEGIN3}~{FMIDDLE4-5}~{END2}{MIN9} {FEXT}={EBEGIN1}~{EMIDDLE3-3}~{EEND1}{EMIN4}
Что делает:
для всех файлов с длиной больше 8 символов (без расширения) формирует новое имя файла состоящее из первых 3х символов плюс символ ~ плюс символы со 4го по 5й плюс символ ~ плюс 2а последних символа. Если расширение файла (включая точку) длиннее 3х символов формирует новое расширение файла состоящее из первого 1го символа плюс символ ~ плюс 3й символ плюс символ ~ плюс 1н последний символ. Фаил с названием 123456789123456789.123456789 получит имя 123~45~89.1~3~9
Пример 25:
copymik c:\Documents d:\Backup /STRD {DNAME}={BEGIN3}~{MIDDLE4-6}~{END3}{MIN9}
Что делает:
что делает: для всех папок с длиной больше 8 символов формирует новое имя папки состоящее из первых 3х символов плюс символ ~ плюс символы со 4го по 6й плюс символ ~ плюс 3ри последних символа. Папка с названием 123456789123456789 получит имя 123~456~789
Пример 26:
copymik c:\Users d:\Backup /MF FilesNotExists /XDMD c:\Users\*\Desktop c:\Users\*\Documents /XDMF c:\Users\*\Desktop c:\Users\*\Documents /OF /XCD «{R=^C:\\USERS\\[^\\]+\\(?!(DESKTOP|DOCUMENTS)(\\|$))}»
Что делает:
Копирует в папку d:\Backup профили пользователей с папками Desktop и Documents, остальные папки в профилях пользователей будут пропушены
Пример 27:
copymik c:\Users f:\Backup\UsersProfiles /OF /TP /MD «{R=^C:\\USERS\\[^\\]+\\((DESKTOP|DOCUMENTS)(\\|$))}» /XCF «{R=^C:\\(USERS)\\(\w|[-.])+$}» /MF *.txt *.doc *.xls
Что делает:
Скопирует/перезапишет в f:\Backup\UsersProfiles файлы txt, doc и xls (ключ /MF …) из папок Desktop и Documents находяшихся в профилях пользователей C:\Users\….\…. Дерево папок до файлов также будет создано. Файлы находящиеся в исходной корневой папке C:\Users исключаются из копирования (ключ /XCF …).