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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
RusMikle

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

Цитата:
Подскажите.  Хотел обойти все профили пользователей и скопировать папки Desktop; Documents;  

 
короче, спасибо подсказали регулярку на php.ru
 
вот так скопирует Desktop и Documents ну а далее по аналогии.
 
copymik.exe c:\Users d:\Target /MF FilesNotExists /XDMD c:\Users\*\Desktop c:\Users\*\Documents /XDMF c:\Users\*\Desktop c:\Users\*\Documents /OF /XCD "{R=^C:\\USERS\\[^\\]+\\(?!(DESKTOP|DOCUMENTS)(\\|$))}"
 
пожалуй вставлю в примеры на сайте, думаю ещё многим пригодится.
 
Добавлено:
да, и в догонку, в папках Documents часто лежат ссылки на другие папки (Reparse points). Если надо скопировать и их то Copymik надо запускать с правами администратора (в противном случае они будут пропущены по ошибке доступа)

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
выложил версию 2.27b3, добавил ключик:
[/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

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 15:33 26-02-2018
SantaDemon

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RusMikle, доброго времени суток!
У меня предложение по внедрению в программу функционала аналогичного виндовой REPLACE.EXE.
Но с дополнениями отсутствующими у оригинала:
проход по поддиректориям источника
замена скрытых, системных файлов.
замена по условию:
    если размер источника больше \ меньше размера назначения  
    если дата источника раньше \ позже даты назначения
    если  соответствует маске \ не соответствует маске

Всего записей: 14 | Зарегистр. 08-02-2008 | Отправлено: 16:15 28-02-2018
RusMikle

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

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

 
-- замена скрытых, системных файлов
см:
[/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 - точка входа (представляет собой блок определяемых пользователем данных, связанных с реальным реальным каталогом)
 
-- если дата источника раньше \ позже даты назначения
см:
[/SOLDF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Не перезаписывать файлы с более поздней датой изменения (перезаписывать только старые файлы). Проверяются только файлы сооств. масок. (по умолчанию маска * - все). Используется только в сочетании с ключем /OF
[/SNEWF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Перезаписывать только файлы с более поздней датой изменения. Проверяются только файлы сооств. масок. (по умолчанию маска * - все). Используется только в сочетании с ключем /OF
[/SDTSF[ МаскаФайла1[ МаскаФайла2[ ....]]]] Пропустить файлы с тойже датой изменения и размером. Проверяются только файлы с указанными масками. При шифровании и дешифровке не проверяется и всегда перезаписывается. (по умолчанию маска * - все). Используется только в сочетании с ключем /OF
 
-- если  соответствует маске \ не соответствует маске
в copymik всё вроде на масках построено, поясните.
 
-- если размер источника больше \ меньше размера назначения
есть:
[/SZF NSizeBytes] Копировать/Сжимать/Шифровать только файлы размером большим или равным NSizeBytes байт
[/SZT NSizeBytes] Копировать/Сжимать/Шифровать только файлы размером меньшим или равным NSizeBytes байт
 
можно добавить в [/SZF NSizeBytes] и [/SZT NSizeBytes] использование переменных с размерами исходного файла и целевого, подумаю
 
 
Добавлено:
да, и

Цитата:
проход по поддиректориям источника  

изначально так и делает
 
 
Добавлено:
или речь идёт изначально о замене содержимого файлов?

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 11:43 01-03-2018
SantaDemon

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RusMikle, попробую пояснить, что я хочу. К примеру, есть такая ситуация:
 
Директория источника
    Файл1.ext
    Директория_с_неизвестным_именем
        Файл2.ext
        Файл3.ext
        ФайлN.ext
 
Директория назначения
    Директория_с_известным_именем
        Файл1.ext
    Директория_с_другим_неизвестным_именем
        Файл2.ext
        Файл3.ext
        ФайлN.ext
 
Как сделать так чтобы файлы из директории назначения были перезаписаны файлами из директории источника?
 
 

Всего записей: 14 | Зарегистр. 08-02-2008 | Отправлено: 12:42 01-03-2018
RusMikle

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

Цитата:
 
Как сделать так чтобы файлы из директории назначения были перезаписаны файлами из директории источника?  

 
для этого CopyMik поддерживает регулярные выражения
 
Пример 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 ...).
 
Добавлено:
отладку регулярного выражения удобно сделать тут:
https://regexr.com/
 
если не получается то можно посоветоваться тут:
https://php.ru/forum/forums/reguljarnye-vyrazhenija.18/  

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RusMikle, спасибо за отличную утилиту.
У меня не получается cкопировать атрибуты безопасности файлов и папок, если я не являюсь их владельцем.
Запускал на WinServer 2003 64-bit и Windows 7 Prof 64-bit. Запускаю под пользователем с административными правами. Запускал с ключами /CSF /CSD.
Эти же папки и файлы xcopy с ключами /O /X скопировала нормально, сохранились владелец и атрибуты безопасности.

Всего записей: 28 | Зарегистр. 05-01-2009 | Отправлено: 17:28 14-05-2018
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
по сравнению с xcopy используются те же функции API. Соотв. скорее всего права, либо копирование не производилось (но тогда в логе должно стоять SKIP). Попробуйте добавить ключ /OF (возможно целевые папки и файлы уже существовали и копирования не производилось). Вообще без лога и конкретики сложно что то сказать. Можете подробнее выслать информацию на rusmikleАТgmail.com, чем смогу помогу.

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 13:19 15-05-2018
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да, и в догонку, проверить лог на сообщения об ошибках вида:
 
Unable to get acsess rights for file ...
Failed to set/change the permissions of the file ....
ERROR By copy acsess rights for file ...
ERROR Unable to get acsess rights for file ....

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 12:07 17-05-2018
bird70

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RusMikle
Все журналы отправил на почту. Письмо от swanson7070ATgmail.com

Всего записей: 28 | Зарегистр. 05-01-2009 | Отправлено: 13:09 17-05-2018
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
на rusmikleАТgmail.com ?
 
пока ничего не пришло

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RusMikle
да, отправил 16 мая на rusmikleАТgmail.com
продублировал
https://drive.google.com/open?id=1D-sCv4wdOkn_eW-PzwuD4pTdiWOmT-HI
---
CopyMik 2.28b3 из ночной сборки
copymik.exe D:\MainFolder D:\MainFolderCopy /ADM /CSF /CSD /OF /LOG
ERROR: Failed to set/change the permissions of the file or folder
OWNER и ACL папки D:\MainFolderCopy\Folder2 не скопированы, хотя папка скопирована
OWNER у папки D:\MainFolderCopy\Folder2 отличается от пользователя запускающего copymik. У всех административные права

Всего записей: 28 | Зарегистр. 05-01-2009 | Отправлено: 11:13 18-05-2018 | Исправлено: bird70, 11:15 18-05-2018
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ок, данные получил
 
после некоторых танцев удалось воиспрозвести ошибку, буду разбираться. Как только поправлю сообщу.
 
Добавлено:
Проблему исправил (по крайней мере у меня в такой комбинации заработало). Качайте ночную сборку 2.28b4.
Спасибо за помощь, в такой комбинации ещё долго бы не всплыло.  Отпишитесь как заработало. Спасибо.

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 16:33 18-05-2018
bird70

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RusMikle
Проверил copymik_v2_28_4_beta, OWNER и ACL копируются нормально. Огромное спасибо!
Дополнительный вопрос. Копирование параметров аудита файлов планируете?

Всего записей: 28 | Зарегистр. 05-01-2009 | Отправлено: 07:52 21-05-2018
RusMikle

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

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 18:26 22-05-2018
RusMikle

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

Цитата:
Копирование параметров аудита файлов планируете?

выложил версию 2.28b5 с копированием параметров аудита файлов.  
Из нового:
Распараллеливание потоков копирования и/или шифрования и/или сжатия. По умолчанию количество потоков равно количеству процессоров минус 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 с привилегиями администратора (если таковые есть у текущего пользователя)
Исправление ошибок.
 
 
Если желаете копировать все параметры безопасности и аудита сразу, для файлов и папок, просто используйте комбинацию /CSF и /CSD
 

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 16:31 29-05-2018 | Исправлено: RusMikle, 16:39 29-05-2018
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
версия 2.28b7 онлайн.
(работа над ошибками).

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 14:11 13-06-2018
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В НОЧНОЙ СБОРКЕ 2.28b8:
 
Новые возможности:
В переменных даты и времени:{DATE}, {YEAR}, {MONTHNAME}, {DAYNAME}, {DATETIME}, {MONTHOFYEAR}, {WEEKOFYEAR}, {WEEKOFMONTH}, {DAYOFMONTH}, {DAYOFWEEK}, {DAYOFYEAR}, {HOUR}, {MIN}, {SEC}, {MSEC} возможно использовать простейшие арифметические операции + и -. Например {DAYOFMONTH-1}. Если сегодня 29е то получите 28е.

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 13:36 20-06-2018
RusMikle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Выложил версию 2.28b релиз 9:
 
Новые возможности:
В конечной статистике выводится общий объём обработанных файлов до и после обработки, разница размера до и после обработки, размер перемещённых файлов из исходной папки, размер удалённых файлов в целевой папке при синхронизации, размер файлов резервной копии при удалении или замещении файлов.
 
В переменных даты и времени:{DATE}, {YEAR}, {MONTHNAME}, {DAYNAME}, {DATETIME}, {MONTHOFYEAR}, {WEEKOFYEAR}, {WEEKOFMONTH}, {DAYOFMONTH}, {DAYOFWEEK}, {DAYOFYEAR}, {HOUR}, {MIN}, {SEC}, {MSEC} возможно использовать простейшие арифметические операции + и -. Например {DAYOFMONTH-1}. Если сегодня 29е то получите 28е.  
 
Исправление ошибок.
 

Всего записей: 119 | Зарегистр. 12-11-2002 | Отправлено: 11:52 28-06-2018
s32

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

Всего записей: 2 | Зарегистр. 21-06-2007 | Отправлено: 11:26 17-08-2018
Открыть новую тему     Написать ответ в эту тему

Страницы: 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