************************************************************* * * * Mikhail Tchervonenko * * CopyMik Url: http://www.superbasis.de/copymik/ * * * ************************************************************* ************************************************************* ************************************************************* Версия 2.28b релиз 9: Новые возможности: В конечной статистике выводится обший объём обработынных файлов до и после обработки, разница размера до и после обработки, размер перемещённых файлов из исходной папки, размер удалённых файлов в целевой папке при синхронизации, размер файлов резервной копии при удалении или замешении файлов. Исправление ошибок. ************************************************************* Версия 2.28b релиз 8: Новые возможности: В переменных даты и времени:{DATE}, {YEAR}, {MONTHNAME}, {DAYNAME}, {DATETIME}, {MONTHOFYEAR}, {WEEKOFYEAR}, {WEEKOFMONTH}, {DAYOFMONTH}, {DAYOFWEEK}, {DAYOFYEAR}, {HOUR}, {MIN}, {SEC}, {MSEC} возможно использовать простейшие арифметические операции + и -. Например {DAYOFMONTH-1}. Если сегодня 29е то получите 28е. ************************************************************* Версия 2.28b релиз 7: Исправление ошибок. ************************************************************* Версия 2.28b релиз 6: Новый ключ: [/CS[ FileMask1[ FileMask2[ ....]]]] Копирование аттрибутов безопасности файлов и папок. Только файлы с указанной маской и папки с маской *. Ключ /CS аналогичен комбаинции кючей /CSF[ МаскаФайла1[ МаскаФайла2[ ....]]]] and /CSD *. (маска по умолчанию *) ************************************************************* Версия 2.28b релиз 5: Новое: Распараллеливание потоков копирования и/или шифрования и/или сжатия. По умолчанию количество потоков равно количеству процессоров минус 1. Минимум = 1 и максимум = 100. Новые ключи: [/TH[ МаксимальноеКоличествоПараллельныхПотоков]] Максимальное количество параллельных потоков обработки файлов (по умолчанию равно количеству процессоров минус 1. Минимум = 1 и максимум = 100) [/STH] Выводить на экран или в лог количество активных потоков в данный момент. Например: (3) - означает - три потока активны в данный момент. [/USR] Выводить на экран текущее имя пользователя windows от которого запущен copymik [/CSDO[ МаскаПапки1[ МаскаПапки2[ ....]]]] - Копировать часть дескриптора безопасности отвечающего за владельца папки (Маска по умолчанию *) [/CSDG[ МаскаПапки1[ МаскаПапки2[ ....]]]] - Копировать часть дескриптора безопасности отвечающего за групповае политики (Маска по умолчанию *) [/CSDD[ МаскаПапки1[ МаскаПапки2[ ....]]]] - Копировать часть дескриптора безопасности отвечающего за список избирательного управления доступом, контролируемый владельцем папки и регламентирующий права пользователей и групп на действия с папкой (чтение, запись, удаление и т.д.) (Маска по умолчанию *) [/CSDS[ МаскаПапки1[ МаскаПапки2[ ....]]]] - Копировать часть дескриптора безопасности отвечающего за аудит папки (Маска по умолчанию *) Замечание: Ключ /CSD равноценен одновременной комбинации ключей /CSDO, /CSDG, /CSDD, /CSDS [/CSFO[ МаскаФайла1[ МаскаФайла2[ ....]]]] - Копировать часть дескриптора безопасности отвечающего за владельца файла (Маска по умолчанию *) [/CSFG[ МаскаФайла1[ МаскаФайла2[ ....]]]] - Копировать часть дескриптора безопасности отвечающего за групповае политики файла (Маска по умолчанию *) [/CSFD[ МаскаФайла1[ МаскаФайла2[ ....]]]] - Копировать часть дескриптора безопасности отвечающего за список избирательного управления доступом, контролируемый владельцем файла и регламентирующий права пользователей и групп на действия с файлом (чтение, запись, удаление и т.д.) (Маска по умолчанию *) [/CSFS[ МаскаФайла1[ МаскаФайла2[ ....]]]] - Копировать часть дескриптора безопасности отвечающего за аудит файла (Маска по умолчанию *) Замечание: Ключ /CSF равноценен одновременной комбинации ключей /CSFO, /CSFG, /CSFD, /CSFS Документирован: [/ADM] Перезапускать copymik с привилегиями администратора (если таковые есть у текущего пользователя) Исправление ошибок. ************************************************************* Версия 2.27b релиз 3: Новый ключ: [/TP] Сквозной проход всех исходных папок на всю глубину вложенности вне зависимости выполняется условие копирования для текущей папки или нет. Примечание: Ключ позволяет пройти все папки на всю глубину их вложенности и проверить условия копирования/переименования/сжатиа/шифрования подпапок и файлов в них. Напомню что по умолчанию вход в исходную папку не осуществляется если она не удовлетворяет условию копирования. Пример1: Скопирует/перезапишет в f:\Backup\UsersProfiles файлы txt, doc и xls (ключ /MF ...) из папок Desktop и Documents находяшихся в профилях пользователей C:\Users\....\.... Дерево папок до файлов также будет создано. Файлы находящиеся в исходной корневой папке C:\Users исключаются из копирования (ключ /XCF ...). copymik c:\Users f:\Backup\UsersProfiles /OF /TP /MD "{R=^C:\\USERS\\[^\\]+\\((DESKTOP|DOCUMENTS)(\\|$))}" /XCF "{R=^C:\\(USERS)\\(\w|[-.])+$}" /MF *.txt *.doc *.xls ************************************************************* Версия 2.26b релиз 4: 1. Добавлена поддержка регулярных выражений (perl совместимых) в проверке условий копирования файлов и папок: а. в проверке регулярного выражения учавствует полный путь к фaйлу или папке, регистронезависимое сравнение {R=Регулярное выражение} или регистрозависимое сравнение {r=Регулярное выражение}. б. в проверке регулярного выражения НЕ учавствует полный путь к фaйлу или папке, регистронезависимое сравнение {E=Регулярное выражение} или регистрозависимое сравнение {e=Регулярное выражение}. Пример1: Скопировать все doc файлы и папки из c:\Documents в c:\Backup исключая файлы и папки начинающиеся с символа подчёркивания. В сравнении не учавствует полный путь к файлам и папкам. copymik c:\Documents c:\Backup /MF *.doc /XCF {E=^(_)} /XCD {E=^(_)} Пример2: Скопировать все doc файлы и папки из c:\Documents в c:\Backup исключая файлы и папки содержащие в любой позиции цифры или начинающиеся с символа подчёркивания. В сравнении не учавствует полный путь к файлам и папкам. copymik c:\Documents c:\Backup /MF *.doc /XCF {E=[0-9]} _*.* /XCD {E=[0-9]} _* Важно! В рамках ключа Вы можете комбинировать маски и регулярные выражения разделяя их символом пробела. 2. В ключах /STRF и /STRD стало возможным использование регулярных выражений (perl совместимых), регистронезависимое {E=Регулярное выражение} или регистрозависимое {e=Регулярное выражение} сравнение Важно: регулярное выражение всегда должно находиться в левой части равенства. Пример: Скопировать все файлы и папки из c:\Documents в c:\Backup и заменить начальный символ подчёркивания в названии на текущую дату. copymik c:\Documents c:\Backup /STRF {E=^(_)}={DATE} Подробнее о регулярных выражениях читайте тут: https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F ************************************************************* Версия 2.25b релиз 4: Исправление ошибок ************************************************************* Версия 2.25b релиз 3: Добавлена возможность использования относительных путей (папка вниз ..\ или .\ текущая папка) Правило действует и для путей в ключах. Пример: copymik ..\..\Folder1 ..\..\Folder2 /XCD ..\..\Folder1\Temp ************************************************************* Версия 2.24b релиз 3: Исправление ошибок ************************************************************* Версия 2.24b релиз 2: Исправление ошибок ************************************************************* Версия 2.24b релиз 1: Исправление ошибок С целью повышения криптостойкости изменён алгоритм обработки ключа шифрования введённого с использованием ключей /B /R /PASS /CRPASS /DECRPASS Новый ключ: [/C223] Режим совместимости шифрования и дешифрования с версиями программы CopyMik ниже 2.24 для ключей /B /R /PASS /CRPASS /DECRPASS (где пароль вводился в коммандной строке) ************************************************************* Версия 2.23b релиз 1: Исправление ошибок ************************************************************* Версия 2.22b релиз 3: С целью повышения криптостойкости изменён алгоритм обработки ключа шифрования в виде внешнего файла. Новый ключ: [/COMP] Режим совместимости шифрования с версиями программы CopyMik ниже 2.22 при использовании внешнего файла в качестве ключа шифрования. ВАЖНО!!! Начиная с версии программы 2.22, с целью повышения криптостойкости, в процесс обработки внешнего ключа шифрования в виде внешнего файла внесены изменения. Файлы зашифрованные в версии программы 2.21 и ниже должны дешифроваться с ключём /COMP Изменения произошли только при использовании ключа шифрования в виде внешнего файла. При использовании только пароля или сочетания пароля и внешнего файла ключа, для совместимости со старыми версиями CopyMik (от 2.21 и ниже) ключ /COMP не требуется! Вложена последняя версия VsToolkit ( http://www.rathlev-home.de/tools/progtools.html#language ) ************************************************************* Версия 2.21b релиз 2: Появилась возможность использования в файле ключей ссылок на файлы масок Во всех ключах где используется переменная - {FEXT} - расширение файла, теперь возможно использование переменной - {FEEXT} - расширение файла без точки Исправлены некоторые ошибки и недочёты. Новые ключи: [/PASS пароль] - пароль шифрования и дешифрования одновременно (заменяет /CRPASS и /DECRPASS одновременно) [/WPASS] - видимый интерактивный ввод пароля шифрования и дешифрования одновременно (заменяет /CRPASS и /DECRPASS одновременно), символы пароля отображаются в консоли [/HPASS] - скрытый интерактивный ввод пароля шифрования и дешифрования одновременно (заменяет /CRPASS и /DECRPASS одновременно), символы пароля заменяются знаком * [/ODT[ МаскаЦелевойПапки1[ МаскаЦелевойПапки2[ ....]]]] Копировать только если целевая папка существует, все остальные папки исключаются из копирования. (По умолчанию маска * - все) ВАЖНО! Если производится переименование то проверка маски папки происходит с учётом её нового имени [/NODT[ МаскаЦелевойПапки1[ МаскаЦелевойПапки2[ ....]]]] Копировать только если целевая папка НЕ существует, все остальные папки исключаются из копирования. (По умолчанию маска * - все) ВАЖНО! Если производится переименование то проверка маски папки происходит с учётом её нового имени [/OFT[ МаскаЦелевогоФайла1[ МаскаЦелевогоФайла2[ ....]]]] Копирование производится только если целевой файл существует. Все остальные файлы будут пропущены. Имеет смысл только в сочетании с ключем /OF. (По умолчанию маска * - все) ВАЖНО! Если производится переименование то проверка маски файла происходит с учётом его нового имени [/NOFT[ МаскаЦелевогоФайла1[ МаскаЦелевогоФайла2[ ....]]]] Копирование производится только если целевой файл НЕ существует. Все остальные файлы будут пропущены. (По умолчанию маска * - все) ВАЖНО! Если производится переименование то проверка маски файла происходит с учётом его нового имени [/NODELT] Не удалять файлы и папки в целевой папке если при копировании были ошибки (например, при использовании ключа /MIR) [/DSKIP] Не показывать информацию о созданных папках (в сочетании с ключём /NSKIP оставит в выводе только информацию о скопированных файлах и ошибках) [/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) Изменения в ключах: ----- /STRF появились переменные: {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..} Пример: что делает: для всех файлов с длиной больше 8 символов (без расширения) формирует новое имя файла состоящее из первых 3х символов плюс символ ~ плюс символы со 4го по 5й плюс символ ~ плюс 2а последних символа. Если расширение файла (включая точку) длиннее 3х символов формирует новое расширение файла состоящее из первого 1го символа плюс символ ~ плюс 3й символ плюс символ ~ плюс 1н последний символ. Фаил с названием 123456789123456789.123456789 получит имя 123~45~89.1~3~9 copymik c:\Documents d:\Backup /STRF {FNAME}={FBEGIN3}~{FMIDDLE4-5}~{END2}{MIN9} {FEXT}={EBEGIN1}~{EMIDDLE3-3}~{EEND1}{EMIN4} ----- /STRD появились переменные: {BEGINсмещение_от_начала} - первые N символов от полного названия папки. Например - первые 5 {BEGIN5} {MIDDLEсмещение_от_начала1-смещение_от_начала2} символы между смещение_от_начала1 до смещение_от_начала2 от полного названия папки. Например {MIDDLE2-4} символы между 2м и 4м (включительно) {ENDсмещение_от_конца} - последние N символов от полного названия файла (включая расширение). Например - последние 3 {END3} {MINчисло} - минимальная длина полного названия папки при которой происходит замена с участием ключей {BEGIN..}{MIDDLE..-..}{END..} Пример: что делает: для всех папок с длиной больше 8 символов формирует новое имя папки состоящее из первых 3х символов плюс символ ~ плюс символы со 4го по 6й плюс символ ~ плюс 3ри последних символа. Папка с названием 123456789123456789 получит имя 123~456~789 copymik c:\Documents d:\Backup /STRD {DNAME}={BEGIN3}~{MIDDLE4-6}~{END3}{MIN9} ************************************************************* Версия 2.19b релиз 9: Новые ключи: [/REPEAT [КоличествоПовторов]] Количество повторов при ошибке доступа. По умолчанию 3 повтора. 0 - повторять бесконечно. (если установлен ключ /SE или /TEST то повторы не производятся) [/WAIT [секунд]] Пауза между повторами при ощибке доступа. По умолчанию 15 секунд. [/TEST] Тестовый режим. Реальное копирование, сжатие, шифрация и удаление не производятся. При отсутствии сетевого соединения с целевой папкой предполагается что целевая папка отсутствует. (повтор соединения производиться не будет). В тестовом режиме проверка целевых папок и файлов проводится в ограниченном объёме. Возможные ошибки соединения, совместного доступа, установки прав, дат, и атрибутов, недостаток места на диске выявлены не будут. [/TDELTA Секунд[ Секунд2]] Погрешность в секундах у целевого файла при сравнении дат в ключе /SDTSF. Погрешность может быть со знаком минус, плюс и без знака. Если знак минус то это погрешность минусуется от даты целевого файла, если плюс то плюсуется. Если знак не указан то погрешность и плюсуется и минусуется одновременно. Погрешность по умолчанию 0 секунд. [/BEEP] - издать звук если произошла ошибка или предупреждение [/SBEEP] - издать звук при старте программы [/EBEEP] - издать звук при завершении программы [/WBEEP] - издать звук при ожидании/повторе Появилась возможность читать маски файлов и папок из текстового файла (кодировка UTF-8). Для этого вместо маски введите ::ПутьИИмяФайла в котором содержатся маски (два двоеточия впереди). Каждая маска должна начинаться с новой строки, символы пробелов учитываются. Ссылки на файлы с масками могут быть вложенными. Добавлена возможность использования абсолютного пути в масках. Исправление мелких недочётов. ************************************************************* Версия 2.18b релиз 5: Появилась тонкая настройка установки атрибутов файлов и папок при копировании. Новые ключи: [/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 Исправление мелких недочётов. ************************************************************* Версия 2.17b релиз 15: Новые ключи: [/CRPF ФайлКлючаШифрования] Файл с ключем шифрования. Максимальный размер 2Gb минус размер пароля (если пароль задан). Возможно совместное использование файла ключа и пароля. [/DECRPF ФайлКлючаДешифрования] Файл с ключем дешифрования. Максимальный размер 2Gb минус размер пароля (если пароль задан). Возможно совместное использование файла ключа и пароля. ************************************************************* Версия 2.16b релиз 16: Исправлена ошибка сброса атрибутов файлов и папок по маске. ************************************************************* Версия 2.16b релиз 15: В этой версии появилась возможность чтения ключей из файлов. Одновременно можно использовать несколько файлов ключей. Ключи будут добавляться а повторяющиеся перезаписываться. Новые ключи: [/KF ФайлКлючей1[ ФайлКлючей2[ ....]]] Текстовый/е Файл/ы с ключами в кодировке UTF8. Каждый ключ начинается с новой строки. Если есть повторяющиеся ключи то действует ключ из последнего файла. Ключи из файлов имеют более высокий приоритет чем ключи из коммандной строки. Если строка не начинается с символа "/" то предполагается что это путь к исходной или целевой папке копирования (очередность папок всегда 1я строка => исходная, 2я строка => целевая папка) В файле ключей можно использовать комментарии. Комментарий начинается с символов //. Текст в строке, находящееся после символов комментария игнорируется программой. Исправлены некоторые ошибки. ************************************************************* Версия 2.15b релиз 11: Новые ключи: [/VF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Верификация скопированных файлов (по маске файла). Не совместима со сжатием и шифрацией. Осторожно! Cильно замедляет копирование!. Ограничен рамками ключа /VD (если он задан). (по умолчанию маска * - все) [/VD[ МаскаПапки1[ МаскаПапки2[ ....]]]] Верификация скопированных файлов (по маске папки). Не совместима со сжатием и шифрацией. Осторожно! Cильно замедляет копирование!. Ограничен рамками ключа /VF (если он задан). (по умолчанию маска * - все) [/NVF МаскаФайла1[ МаскаФайла2[ ....]]] Не верифицировать файлы с указанными масками. Работает в рамках ключей /VF и/или /VD [/NVD МаскаПапки1[ МаскаПапки2[ ....]]] Не верифицировать файлы в папках с указанными масками. Работает в рамках ключей /VF и/или /VD [/MVS РазмерФайлаВБайтах] Максимальный размер файла для верификации в байтах (по умолчанию -1 не ограничен). Работает в рамках ключей /VF и/или /VD ************************************************************* Версия 2.14b релиз 22: При добавлении к имени файла текста ключами /COADD и /CRADD выключен автоматический перевод в верхний регистр, в ключах /DECODEL и /DECRDEL включена регистронезависимый режим. ************************************************************* Версия 2.14b релиз 21: Новый ключ: /CMF - Совместимый режим копирования файлов (Позволяет проводить копирование из теневых копий/снимков томов. К примеру созданных программой VsToolkit.exe). Смотри пример 22. Примечание, в большинстве случаев программа сама распознает что копирование проиcходит из теневой копии и переключается в совместимый режим. Совместимый режим немного медленнее чем обычный режим копирования. Новые переменные доступные при переименовании и создании файлов и папок: {HOUR} - час (с ведущими нулями) {MIN} - минуты (с ведущими нулями) {SEC} - секунды (с ведущими нулями) {MSEC} - миллисекунды (с ведущими нулями) Исправлена ошибка установки аттрибутов файлов при автоматическом переименовании (при существовании целевого файла). Исправлена ошибка перезаписи файлов с атрибутом "только для чтения" при одновременном шифровании и сжатии. Поправлен заголовок операций при выводе в лог при одновременном шифровании и сжатии и наоборот. Изменён алгоритм автоматического переименования (при существовании целевого файла). Исправлена ошибка в конечной статистике (время начала конца и продолжительность) Добавлены ведущие нули в переменные дат и времени: {YEAR} - номер года {MONTHOFYEAR} - номер мясяца вгоду {WEEKOFYEAR} - номер недели в году {DAYOFYEAR} - номер дня года {DAYOFMONTH} - номер дня в месяце Проведена оптимизация для увеличения скорости копирования. В случае переименования или перезаписи файлов во всех случаях контроль маски применяется и имени исходного файла (до переименования). Из лога и вывода на экран убраны пароль шифрования и дешифрования а так же алгоритм шифрования и дешифрования. Плюс другие мелкие улучшения и исправления в коде. ************************************************************* Версия 2.13b релиз 12: По умолчанию в лог и на дисплей, пишется дата окончания текущей операции Новый ключ: /NOLOGTIME - не выводить на экран и в лог время завершения текущей операции (для совместимости со старым логом) Новые переменные доступные при переименовании и создании файлов и папок: {YEAR} - номер года {MONTHNAME} - название месяца {DAYNAME} - название дня недели {MONTHOFYEAR} - номер мясяца вгоду {WEEKOFYEAR} - номер недели в году {WEEKOFMONTH} - номер недели в месяце {DAYOFYEAR} - номер дня года {DAYOFMONTH} - номер дня в месяце {DAYOFWEEK} - номер дня в неделе ************************************************************* Версия 2.12b релиз 14: Новые ключи: [/REPF НачальнаяПозиция[ КонечнаяПозиция[ ЧемЗаменить]]] В именах файлов заменяет текст с начальной по конечную позицию. Новый текст может содержать предопределённые переменные как в ключе /STRF. Нумерация позиций начинается с 1. Позиция с номером 0 соответствует перед первым символом названия файла. Позиция с номером большим длины названия файла соответствует первой позиции за последней буквой названия файла. При равенстве начальной и конечной позиций замена производится для одного символа названия файла. Ключ /REPF отрабатывает первым (при сочетании с другими ключами замены). Позиции по умолчанию = 1, текст пустой. [/INSF ПозицияВставки[ ЧтоВставить]] В именах файлов вставляет текст в указанную позицию сдвигая вправо. Новый текст может содержать предопределённые переменные как в ключе /STRF. Нумерация позиций начинается с 1. Позиция с номером 0 соответствует перед первым символом названия файла. Позиция с номером большим длины названия файла соответствует первой позиции за последней буквой названия файла. Ключ /INSF отрабатывает первым (при сочетании с другими ключами замены) и вторым при сочетании с ключем /REPF. Позиция по умолчанию = 1, текст пустой. [/REPD НачальнаяПозиция[ КонечнаяПозиция[ ЧемЗаменить]]] В именах папок заменяет текст с начальной по конечную позицию. Новый текст может содержать предопределённые переменные как в ключе /STRD. Нумерация позиций начинается с 1. Позиция с номером 0 соответствует перед первым символом названия папки. Позиция с номером большим длины названия папки соответствует первой позиции за последней буквой названия папки. При равенстве начальной и конечной позиций замена производится для одного символа названия папки. Ключ /REPD отрабатывает первым (при сочетании с другими ключами замены). Позиции по умолчанию = 1, текст пустой. [/INSD ПозицияВставки[ ЧтоВставить]] В именах папок вставляет текст в указанную позицию сдвигая вправо. Новый текст может содержать предопределённые переменные как в ключе /STRD. Нумерация позиций начинается с 1. Позиция с номером 0 соответствует перед первым символом названия папки. Позиция с номером большим длины названия папки соответствует первой позиции за последней буквой названия папки. Ключ /INSD отрабатывает первым (при сочетании с другими ключами замены) и вторым при сочетании с ключем /REPD. Позиция по умолчанию = 1, текст пустой. ************************************************************* Версия 2.11b релиз 12: Новый ключ: /SETEXITCODE В качестве кода возврата программы использовать количество скопированных файлов (от 0 до N) а если произошла ошибка то количество ошибок со знаком минус (от -N до -1). (Напр. для использования в пакетных файлах. Смотри пример 20 http://www.superbasis.de/copymik/). ************************************************************* Версия 2.10b релиз 30: Исправлена ошибка в /ENDEXECPARAM и /ENDERREXECPARAM ************************************************************* Версия 2.10b резиз 29: Добавлено важное замечание к описанию ключа /MD5 ************************************************************* Версия 2.10b резиз 28: Новые ключи: [/CTF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Копировать даты последней записи, создания, последнего доступа и изменения файлов. Только для файлов подходящих под маски. (по умолчанию маска * - все) [/CTD[ МаскаПапки1[ МаскаПапки2[ ....]]]] Копировать даты последней записи, создания, последнего доступа и изменения папок. Только для папок подходящих под маски. (по умолчанию маска * - все) В ключ /MIR включены ключи /CTF и /CTD с маской от ключа /MIR Исправлена ошибка копирования атрибутов файлов и прав доступа при одновременном переименовании. ************************************************************* Версия 2.9b резиз 3: Новые ключи: [/SOLDF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Не перезаписывать файлы с более поздней датой изменения (перезаписывать только старые файлы). Проверяются только файлы сооств. масок. (по умолчанию маска * - все). Используется только в сочетании с ключем /OF например: copymik.exe c:\source d:\dist /OF /SOLDF перезапишет устаревшие файлы более новыми (позднее изменёнными). Остальные файлы, если они уже существуют пропустит. [/PRIORITY [название приоритета]] Изменить приоритет выполнения программы. Название приоритета может принимать значения SUPER_LOW (или LOW-), LOW, BELOW_NORMAL (или NORMAL-), NORMAL, ABOVE_NORMAL (или NORMAL+), HIGEST (или MAX). По умолчанию - NORMAL Допускается сокращенная форма ключа [/PR [название приоритета]] Пример: copymik.exe c:\source d:\dist /PRIORITY LOW- копировать файлы с минимальным приоритетом выполнения copymik (фоново, без загрузки ресурсов системы) ************************************************************* Версия 2.8b релиз 5: Добавлен новый ключ: [/NHP] Отключить постраничный вывод справочной информации (без паузы). ************************************************************* Версия 2.8b релиз 3: Исправлен баг при котором возможно было исполнение скрипта по ключу /EXEC даже если файл не был успешно скопирован/сжат/зашифрован. Добавлены новые ключи: [/DELF[ МаскаФайла1[ МаскаФайла2[ ....]]]] - удаляет по указанной маске успешно скопированные/сжатые/зашифрованные файлы в исходной папке, [/DELFD[ МаскаПапки1[ МаскаПапки2[ ....]]]] Ограничивает действие ключа /DELF исходными папками по указанной маске, [/SZF NSizeBytes] Копировать/Сжимать/Шифровать только файлы размером большим или равным NSizeBytes байт, [/SZT NSizeBytes] Копировать/Сжимать/Шифровать только файлы размером меньшим или равным NSizeBytes байт. ************************************************************* Версия 2.7b релиз 16: При задании корневых исходной и целевой папок появилась возможность использовать предопределенные переменные {DATE} и {DATETIME}. Убрано ограничение в одну папку на глубину создания начальной целевой папки. Добавлен новый ключ [/TM[ СЕКУНД]] копировать только файлы с датой изменения в пределах СЕКУНД от текущего времени (по умолчанию 3600 или один час). У ключей /XCD и /XCF выставлена маска по умолчанию * (все). ************************************************************* Версия 2.7a релиз 15: Добавлены ключи /LOG и /ADDLOG /DCSV /LCSV позволяющие вывод в заранее заданный log файл и форматирование (csv) при выводе в лога и на экран. Ключ /NSKIP позволяет отменить вывод информации о пропущенных файлах. Также добавлены ключи /PAUSEBYERROR - после выполнения программы не закрывает окно вывода если произошла ошибка и ключи [/ENDEXEC command], [/ENDEXECPARAM command], [/ENDERREXEC command], [/ENDERREXECPARAM command] позволяющие запустить стороннюю программу по завершению копирования в случаях если ошибок не произошло или произошла хотя бы одна ошибка соответственно. Произведён рефакторинг выводимых сообщений и их формата. В выводе Первой строкой добавлен вывод параметров запуска программы. ************************************************************* Версия 2.6a: добавлены ключи /EXEC и /EXECPARAM позволяющие выполнить программу или пакетный файл для каждого успешно скопированного файла или исходного файла ************************************************************* Версия 2.5a: добавлены ключи для переименования и транслитерации имён файлов при копировании /NOF, /NOD, /LANG, /STRF, /ICF, /STRD, /ICD Улучшен контроль вводимых ключей. ************************************************************* Версия 2.4a: добавлен ключ /CP для изменения кодовой страницы при консольном выводе (напр ... /CP 866). Исправлено несколько мелких недочётов. ************************************************************* Версия 2.3a: исправлен баг шифрования сверхбольших файлов. Ключ /DT теперь позволяет значение 0 (т.е. сегодня), и использует 0 по умолчению. ************************************************************* Версия 2.2a: исправлен баг при дешифрофке по ICE ************************************************************* Версия 2.1a: исправлен баг при смене алгоритма дешифрования при дешифровке ************************************************************* Версия 2.0a: помимо шифрования добавлено сжатие и разжатие файлов (/CO маски /DECO маски соотв. сжатие и разжатие), ключи для резервного копирования и восстановления (/B пароль, /R пароль - соотв. Backup и Restore с паролем), ключи для фильтрации по дате последнего изменения файла (/DT дней, /DTS DD.MM.YYY, /DTE DD.MM.YYY). Теперь возможно резервное копирование с одновременным сжатием и шифрованием файлов. Исправлена проблема при сжатии и шифрации сверхбольших файлов. Исправлены некоторые недочёты итп. ************************************************************* Версия 1.06a: исправлена проблема при распознавании сжатых и шифрованных папок (при их удалении в режиме /MIR). ************************************************************* Версия 1.05a: исправлена проблема остановки при ошибке открытии файла на шифрование. Улучшена скорость шифрования и копирования. Исправлено несколько незначительных багов. ************************************************************* В версии 1.04a, с прицелом на резервное копирование, добавлено шифрование и дешифровка файлов. Реализовано 13 различных алгоритмов шифрования. Все это работает в сочетании с масками копирования. Возможно прямое и обратное переименование при шифровании и дешифровке. Стало возможно создание шифрованных зеркальных копий папок итп.