Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » CopyMik

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9

Открыть новую тему     Написать ответ в эту тему

RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CopyMik


 
CopyMik - консольная программа по идеологии напоминающая robocopy или rsync но имеющая ряд существенных нововведений и отличий:
• Разделение ключей для файлов и папок
• Возможность использования в одном ключе нескольких масок одновременно
• Копирование прав для файлов и папок раздельно
• Тонкая настройка параметров копируемых файлов
• Переименование файлов и папок в процессе копирования с тонкой настройкой
• Транслитерация имен файлов и папок с учетом специфики более 9ти основных языков постсоветского пространства
• Сжатие или разжатие файлов при копировании
• Возможность шифрование и дешифровки файлов при копировании более чем 12ю различными алгоритмами
• Сочетание сжатия и шифрования и соотв дешифрации и разжатия файлов при копировании
• Использование в качестве ключа шифрования внешнего файла (до 2х Mb)
• Создание зеркальных копий папок и подпапок (/MIR как и в robocopy)
• Возможность выполнить внешнюю программу для каждого успешно обработанного файла указав последний в параметрах её запуска (напр. что бы послать E-Mail со сжатым и зашифрованным файлом)
• В зависимости от успешного или ошибочного результата выполнения копирования/сжатия/шифрации выполнить ту или иную внешнюю программу передав ей в качестве параметра лог выполнения операций (напр. чтобы в случае ошибки послать лог администратору по E-Mail)
• Вывод лога в файл, в том числе, в CSV формате
• Режимы резервного копирования со сжатием и шифрованием (удобно для переноса файлов на носителе имеющем опасность быть утерянным)
• Резервное копирование файлов в папку с настраиваемым именем (напр. дата и время) перед их заменой или удалением (напр. при использовании ключа /MIR)
• Возможность использования в названиях папок и файлов предопределённых переменных (наподобие даты, времени, размера и.т.п)
• Использование регулярных выражений в качестве масок при копировании, сжатии и шифровании а также в операциях переименования и транслитерации папок и файлов
• Копирование файлов длина пути к которым превышает 256 символов
• чтение ключей и масок из внешних текстовых файлов (в кодировке utf-8)
и многое другое ....
 
Например:
copymik "c:\Folder name" "d:\Folder name" /MIR /BDEL /BREPL
делает образ папки "c:\Folder name" в папку "d:\Folder name" а если при этом происходит удаление или замена файлов то перед удалением или заменой будет сделана их резервная копия соотв. в папки d:\Folder name_BDEL\ДатаВремя и d:\Folder name_BREPL\ДатаВремя
 
или
 
copymik "c:\Folder name" "d:\Folder name" /B пароль /BDEL /BREPL
делает резервное копирование (со сжатием и шифрованием) папки "c:\Folder name" в папку "d:\Folder name" а если при этом происходит удаление или замена файлов то перед удалением или заменой будет сделана их резервная копия соотв. в папки d:\Folder name_BDEL\ДатаВремя и d:\Folder name_BREPL\ДатаВремя
 
 
ПРОГРАММА БЕСПЛАТНА, В ТОМ ЧИСЛЕ И ДЛЯ КОММЕРЧЕСКОГО ИСПОЛЬЗОВАНИЯ


Сайт программы:http://www.superbasis.de/copymik/index.htm#rus
 
С программой CopyMik удобно использовать программу DelT.
Она служит для быстрого удаления папок и удобна настраиваемыми переменными. К примеру, delt c:\Backup\{WEEKOFYEAR-3} /S удалит папку с текущим номером недели минус 3. Удобно если Вам (по соображениям экономии места) нужны резервные копии только текущей и 2x предведущих недель. (ключ /S нужен только если есть пути длиннее 256 символов). Её удобно комбинировать с CopyMik которая собственно эти резервные копии и делает. Операции вычитания и сложения можно использовать со всеми переменными даты (включая текстовые названия дней недели и месяцев).

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 13:42 04-12-2015 | Исправлено: RusMikle, 12:53 24-02-2018
slech



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RusMikle
Здравствуйте, спасибо большое за проект!
 
Программа работает по протоколу SMB ? Не планировалась ли возможность работы по произвольному порту TCP например ?
Похожая реализация есть вроде в программе unison.

Всего записей: 4893 | Зарегистр. 10-11-2004 | Отправлено: 16:26 04-12-2015
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Программа работает по протоколу SMB ? Не планировалась ли возможность работы по произвольному порту TCP например ?  
Похожая реализация есть вроде в программе unison.

 
тут немного другая ситуация, SMB предполагает удаленное управление файлами в том числе.  
 
Точнее:
присоединение к файловым и принтерным ресурсам и отсоединение от них;
открытие и закрытие файлов;
открытие и закрытие принтерных файлов;
чтение и запись файлов;
создание и удаление файлов и директорий;
поиск директорий;
получение и установление атрибутов файла;
блокировка и разблокировка файлов.
 
Для CopyMik это подошло бы только в плане копирования и переименования. Надо подумать в этом направлении, опять же копирования прав доступа тоже нужно не забывать. Сразу не отвечу, но идея интересная. Порою и подумаю в этом направлении.
 
все сказанное конечно не означает что вы не сможете написать что то вроде
 
copymik \\server1\path1 \\server2\path2 /MIR  (создание зеркальной копии)
или
copymik \\server1\path1 \\server2\path2 /B мойпароль  (резервное копирование со сжатием и шифрованием)
 
работа ведётся через файловые функции windows api

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 17:04 04-12-2015 | Исправлено: RusMikle, 17:50 04-12-2015
slech



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RusMikle, спасибо!
 
То есть для работы программы между компьютерами должны быть открыты порты:

Цитата:
Client Port(s)    Server Port    Service
1024-65535/TCP    445/TCP    SMB
 

Direct hosting of SMB over TCP/IP
How to configure a firewall for domains and trusts

Всего записей: 4893 | Зарегистр. 10-11-2004 | Отправлено: 19:55 06-12-2015
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
если у Вас работает команда copy \\server1\folder1 \\server2\folder2
то и CopyMik будет работать. программа не работет напрямую с портами, все на уровне файловых функций API Windows

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 19:38 07-12-2015
JWeber

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
День добрый!
Есть дерево папок: C:\P1\. В папке P1 есть подпапки: Док, Фото и Test. В папке Фото еще много подпапок. Хочу скопировать только папку Фото с её подпапками и файлами, сохранив разрешения/аттрибуты.
Пробую: copymik C:\P1 "D:\User Data" /MD Фот* /CSF /CSD
Имею: копируется только папка Фото, с её файлами. Папки, находящиеся в "Фото" - не скопированы. Смотрим для папки "Фото": Properties->Security. Получаем окно с надписью "The permissions on Фото are incorrectly ordered, which may cause some entries to be ineffective."
Где я не прав? Подскажите, плз

Всего записей: 3 | Зарегистр. 10-11-2008 | Отправлено: 13:56 18-12-2015 | Исправлено: JWeber, 13:59 18-12-2015
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
День добрый!  
Есть дерево папок: C:\P1\. В папке P1 есть подпапки: Док, Фото и Test. В папке Фото еще много подпапок. Хочу скопировать только папку Фото с её подпапками и файлами, сохранив разрешения/аттрибуты.  
Пробую: copymik C:\P1 "D:\User Data" /MD Фот* /CSF /CSD  
Имею: копируется только папка Фото, с её файлами. Папки, находящиеся в "Фото" - не скопированы. Смотрим для папки "Фото": Properties->Security. Получаем окно с надписью "The permissions on Фото are incorrectly ordered, which may cause some entries to be ineffective."  
Где я не прав? Подскажите, плз

 
Для подпапок тоже происходит проверка маски. Эту проблему можно обойти.
 
используйте дополнительно ключ:

Цитата:
[/XDMD МаскаПапки1[ МаскаПапки2[ ....]]] Не проверять маску папки для подпапок с указанной маской (будет использована маска * - все)

 

Цитата:
copymik C:\P1 "D:\User Data" /MD Фот* /XDMD Фот* /CSF /CSD

 
Можно ещё просто исключить из копирования другие головные папки (при условии что их нет в папке фото)
 

Цитата:
copymik C:\P1 "D:\User Data" /XCD Док Test /CSF /CSD

 
В случае исключения папок из копирования, понятно, их подпапки тоже не копируются
К тому же для копирования прав на файлы и папки тоже необходимо иметь права доступа к этим файлам и папкам (но это думаю понятно)
 
Ну или просто копируйте нужную папку:

Цитата:
copymik C:\P1\фото "D:\User Data\фото" /CSF /CSD

 
Успехов, надеюсь помог.
 
 
 
 
 
 

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 15:32 18-12-2015
JWeber

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо.  
Благодарю. Изящнее всего последний вариант. Предпоследний тоже хорош, но если исключаемых папок много, то долго перечислять их. Даже обидно, что я сам не догадался ;-(
Осталось мне разобраться что с "пермишинами" не так. Какая-то проблема с ненаследуемыми (not inherited) , особыми (Special) правами. Только для подпапок и файлов. Этими особыми правами в "старом" месте обладает хозяин файлов. Не "Владелец", а хозяин фотографий (по смыслу), который должен иметь право их удалять. Он и только он (конечно Админ. не считается)

Всего записей: 3 | Зарегистр. 10-11-2008 | Отправлено: 17:50 18-12-2015
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вышла версия 2.9.3b
 
Новые ключи:
[/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 (фоново, без загрузки ресурсов системы)
 
[/SOLDF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Не перезаписывать файлы с более поздней датой изменения (перезаписывать только старые файлы). Проверяются только файлы сооств. масок. (по умолчанию маска * - все). Используется только в сочетании с ключем /OF
например:
copymik.exe c:\source d:\dist /OF /SOLDF
перезапишет устаревшие файлы более новыми (позднее изменёнными). Остальные файлы, если они уже существуют пропустит.
 
Просьба не забывать об обратной связи. Ваши пожелания очень важны для дальнейшего развития проекта. На данный момент программу скачало чуть более 50 000 уникальных посетителей. Спасибо всем кто откликнулся.

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 12:30 03-02-2016
bird70

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не хватает параметра /JOB:

Всего записей: 28 | Зарегистр. 05-01-2009 | Отправлено: 16:28 11-02-2016
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что Вы подразумеваете под этим параметром? Создание крона?

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 00:13 12-02-2016
VecH



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как воссоздать только структуру каталогов (без файлов) включая даты время создания/изменения  
из D:\ в E:\DIR_TIMESTAMP\ ?

Всего записей: 2445 | Зарегистр. 18-02-2003 | Отправлено: 15:33 17-02-2016
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
скачай по этой ссылке последнюю версию
ХТТП://www.superbasis.de/copymik/copymik_v2_10_22_beta.zip
 
она ещё в доступ всем не выложена (тестируется) но вроде все уже в порядке.
 
и сделай так
copymik.exe  D:\ E:\DIR_TIMESTAMP\ /XCF /CTD
или так
copymik.exe  D:\ E:\DIR_TIMESTAMP\ /MF МаскаКоторойТочноНет /CTD
 
для пущей скорости можешь ключик /ERR добавить, тогда вывод будет только в случае ошибки

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 20:19 19-02-2016 | Исправлено: RusMikle, 14:29 20-02-2016
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
выложил на верх CopyMik 2.10b28 http://www.superbasis.de/copymik/index.htm#rus  
новые ключи  
[/CTF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Копировать даты последней записи, создания, последнего доступа и изменения файлов. Только для файлов подходящих под маски. (по умолчанию маска * - все)
[/CTD[ МаскаПапки1[ МаскаПапки2[ ....]]]] Копировать даты последней записи, создания, последнего доступа и изменения папок. Только для папок подходящих под маски. (по умолчанию маска * - все)
В ключ /MIR включены ключи /CTF и /CTD с маской от ключа /MIR
 
Исправлена ошибка копирования атрибутов файлов и прав доступа при одновременном переименовании

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 17:36 23-02-2016
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пример автоматической отправки лога ошибок (или любого другого изменённого файла) администратору на E-Mail с помошью CopyMik и программы blat
Реализация:
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  http://www.blat.net/

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 11:53 24-02-2016
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
выложил на верх CopyMik 2.10b30 http://www.superbasis.de/copymik/index.htm#rus  
поправлен баг в ключах /ENDEXECPARAM и /ENDERREXECPARAM

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 18:58 01-03-2016
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вышла новая версия 2.11b12.
Добавлен новый ключ:
[/SETEXITCODE] В качестве кода возврата программы использовать количество скопированных файлов (от 0 до N) а если произошла ошибка то количество ошибок со знаком минус (от -N до -1). (Напр. для использования в пакетных файлах. См. пример 20 на странице программы).

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 14:16 02-03-2016 | Исправлено: RusMikle, 14:17 02-03-2016
VecH



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А разве EXITCODE не ограничен WORD-ом (65535) ?
Уже int32 стало

Всего записей: 2445 | Зарегистр. 18-02-2003 | Отправлено: 14:54 02-03-2016 | Исправлено: VecH, 14:55 02-03-2016
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вышла новая версия 2.12 релиз 14 http://www.superbasis.de/copymik/index.htm#rus
появились новые ключи:
[/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, текст пустой.

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 11:38 04-04-2016
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
готовится к выходу версия 2.14
http://www.superbasis.de/copymik/copymik_v2_14_18_beta.zip
просьба потестировать
 
Изменения в последних версиях:
 
Версия 2.14b релиз 18:
Новый ключ:
/CMF - Совместимый режим копирования файлов (Позволяет проводить копирование из теневых копий/снимков томов.  
К примеру созданных программой VsToolkit.exe). Смотри пример 22 в readme.  
Примечание, в большинстве случаев программа сама распознает что копирование проиcходит из теневой копии и переключается в совместимый режим самостоятельно.
Совместимый режим немного медленнее чем обычный режим копирования.
 
Новые переменные доступные при переименовании и создании файлов и папок:
{HOUR} - час (с ведущими нулями)
{MIN} - минуты (с ведущими нулями)
{SEC} - секунды (с ведущими нулями)
{MSEC} - миллисекунды (с ведущими нулями)
 
Исправлена ошибка установки аттрибутов файлов при автоматическом переименовании (при существовании целевого файла).
Исправлена ошибка перезаписи файлов с атрибутом "только для чтения" при одновременном шифровании и сжатии.
Поправлен заголовок операций при выводе в лог при одновременном шифровании и сжатии и наоборот.
Изменён алгоритм автоматического переименования (при существовании целевого файла).
Исправлена ошибка в конечной статистике (время начала конца и продолжительность)
Добавлены ведущие нули в переменные дат и времени:
{YEAR} - номер года
{MONTHOFYEAR} - номер мясяца вгоду
{WEEKOFYEAR} - номер недели в году
{DAYOFYEAR} - номер дня года
{DAYOFMONTH} - номер дня в месяце
 
Проведена оптимизация для увеличения скорости копирования.
В случае переименования или перезаписи файлов во всех случаях контроль маски применяется и имени исходного файла (до переименования).
Плюс другие мелкие улучшения и исправления в коде.
*************************************************************
Версия 2.13b релиз 12:
По умолчанию в лог и на дисплей, пишется дата окончания текущей операции
Новый ключ:
/NOLOGTIME - не выводить на экран и в лог время завершения текущей операции (для совместимости со старым логом)
 
Новые переменные доступные при переименовании и создании файлов и папок:
{YEAR} - номер года
{MONTHNAME} - название месяца
{DAYNAME} - название дня недели
{MONTHOFYEAR} - номер мясяца вгоду
{WEEKOFYEAR} - номер недели в году
{WEEKOFMONTH} - номер недели в месяце
{DAYOFYEAR} - номер дня года
{DAYOFMONTH} - номер дня в месяце
{DAYOFWEEK} - номер дня в неделе
 
спасибо всем кто откликнется

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 14:53 02-05-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9

Компьютерный форум Ru.Board » Компьютеры » Программы » CopyMik


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru