Автор Тема: SynFolders 3.0 - Программа для синхронизации папок  (Прочитано 42623 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2687
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Название: SynFoldes 3.0

Версия: 3.0.0.3

Категория: Файловая система

Описание: Программа предназначена для синхронизации двух (на одно задание) папок с тонкой настройкой параметров синхронизации. SynFolders 3.0 написана полностью с нуля, но является логическим продолжением предыдущих версий одноименной программы, и унаследовала все особенности ее интерфейса и принципы работы. Несмотря на то, что с первого взгляда SynFolders 3.0 может показаться немного сложной в освоении и использовании, она, на самом деле, является довольно удобным и самодостаточным инструментом для переодической синхронизации папок и контроля самого процесса синхронизации. Особенно может быть полезна для тех, кому часто приходится переносить файлы с работы домой и обратно. Программа написана полностью на AutoIt, является абсолютно бесплатной, но с закрытым исходным кодом (по крайней мере на данный момент).

Любые вопросы по использованию, улучшению и т.д., пожалуйста задавайте в этой теме. Medic84 и я по возможности постараемся оперативно на них отвечать. Также в ближайшее время будет выложена русская версия SynFolders 3.0. Если нужна краткая инструкция по использованию программы, пишите, подумаем.

Основные возможности программы:

  • Создание списка из множества заданий с индивидуальными параметрами синхронизации для каждого задания.
  • Контроль ошибок во время изменения параметров синхронизации (исключает возникновение недопустимых ситуаций, например, рекурсивное копирование папок).
  • Запуск заданий по расписанию (через определенное время).
  • Гибкая настройка процесса синхронизации и обработки заданий послее ее выполнения.
  • Импорт и экспорт списка заданий, включая отчет, в .sfl файл с возможностью сжатия текстовых данных.
  • Оптимизация процесса синхронизации для разгрузки процессора.
  • Безопасное копирование файлов (практически исключает потерю файлов при возникновении внештатных ситуаций).
  • Безопасное удаление файлов (в корзину) во время синхронизации.
  • Ведение подробного отчета о ходе выполнения синхронизации.
  • Запись отчета в реальном времени в .log файл.
  • Запуск программы при старте системы в режиме планировщика.
  • Относительно небольшое потребление оперативной памяти.
  • Независимое сохранение настроек синхронизации (профили).
  • Поддержка сетевых (UNC) путей.
  • Интуитивно понятный и ненавязчивый интерфейс.
  • Возможность работы программы через меню в системном трее.
  • Визуализация процесса синхронизации.
  • Полноценная поддержка Windows Vista и 7.

Важные замечания:

  • Не удаляйте, не переименовывайте и не изменяйте содержимое выбранных папок во время их синхронизации (надеюсь понятно почему).
  • Нежелательно выключать компьютер или завершать текущую сессию непосредственно во время процесса синхронизации в Windows XP, несмотря на то, что программа корректно завершится и отобразит соответствующее событие в отчете и .log файле.
  • При двусторонней синхронизации удаление файлов невозможно (соответствующая опция будет неактивна). Если необходимо производить удаление файлов, то используйте одностороннюю синхронизацию.
  • По умолчанию, если папка источник является пустой на момент запуска синхронизации, то программа выдаст ошибку и зафиксирует это в отчете и .log файле. Для предотвращения этого включите соответствующую опцию в настройках синхронизации.
  • Каждое задание в списке заданий может хранить отчет только о последней выполненной синхронизации. При следующем запуске задания, предыдущий его отчет будет полностью заменен на новый.
  • В отличии от отчетов, .log файл хранит всю историю обработки заданий, которые когда-либо запускались, и ограничен только лишь заданным максимальным размером файла (см. настройки программы).
  • В случае слишком больших отчетов (десятки тысяч записей) и большого количества заданий, могут появиться задержки при загрузке программы. Чтобы от этого избавиться, очистите наиболее большие (или все сразу) отчеты с помощью соответствующих кнопок в панели инструментов.
  • В случае отложенной синхронизации рекомендуется использовать понижение приоритета процесса для разгрузки процессора. Эта опция является глобальной и включается в настройках программы, особенно хорошо работает в Windows Vista+.
  • Для того, чтобы иметь возможность восстановить замененные или удаленные файлы после выполнения синхронизации, включите режим защиты (перемещение оригинальных файлов в корзину перед их заменой или удалением). Но имейте в виду, что при этом может существенно снизиться скорость обработки заданий, особенно в случае большого количества файлов.
  • Не рекомендуется использовать одно и тоже задание для разных целей, меняя в нем лишь названия папок источника и назначения. Лучше создавайте разные задания для каждой пары папок, например "Home To Work" и "Work To Home". Также вы можете сохранять параметры синхронизации в независимые профили, которые в последствии могут быть применены к любому заданию из списка заданий.

Разные полезности:

  • Кликните два раза левой кнопкой мыши по заданию или нажмите ENTER, когда в списке выделено любое задание, и откроется диалоговое окно настройки параметров синхронизации для этого задания.
  • Кликните два раза левой кнопкой мыши по иконке задания (если есть), и откроется диалоговое окно отчета для этого задания.
  • Нажмите SPACE, когда в списке выделено любое задание, и оно изменит свой статус с "Ready" на "Disabed" и наоборот.
  • Кликните правой кнопкой мыши по любому заданию, и для него будет выведено контекстное меню.
  • Также можно вызвать соответствующее контекстное меню в диалоговом окне отчета.
  • Для удаления задания из списка заданий можете нажать DEL вместо кнопки "-" в панели инструментов.
  • Если удерживать CTRL и нажать на кнопку "-", "Reset" или "Reset All" в панели инструментов или нажать DEL, то окно с предупреждением выводится не будет.
  • Триггер на влючение планировщика (кнопка "Scheduler" в панели инструментов) срабатывает через 10 сек бездействия после его активации.
  • Для уменьшения размера файлов (~ в два раза) экспортируемых списков заданий (*.sfl), особенно, если вы включаете в них отчеты, выберите кодировку "ANSI" (по умолчанию стоит "Unicode").
  • Для быстрой очистки всего списка заданий закройте программу и удалите файл SynFolders.sfl в папке с программой.
  • Для восстановления всех глобальных настроек в изначальное состояние удалите все параметры (кроме "Path", если использовался инсталлятор) в следующем разделе реестра:

    HKEY_CURRENT_USER\Software\Y's\SynFolders


Лицензия: Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported



Операционная система: Windows XP, Vista, 7

Файлы: EXE, EXE (Инсталлятор)

Скриншоты:



             


Источник: SynFolders (оффициальный форум)

Авторы: Yashied, Medic84

Примечание: Авторы не несут ответственности за потерю данных или любые другие убытки в результате использования этого программного обеспечения. Данное программное обеспечение предоставляется "КАК ЕСТЬ" и может быть использовано НА СВОЙ СТРАХ И РИСК. Не существует никаких гарантий (явно выраженных или подразумеваемых) в отношении качества этого программного обеспечения.
« Последнее редактирование: Июнь 08, 2015, 20:35:58 от Garrett »


Думай, прежде чем говорить.

Русское сообщество AutoIt

SynFolders 3.0 - Программа для синхронизации папок
« Отправлен: Декабрь 31, 2011, 00:00:52 »

Оффлайн Medic84 [?]

  • Администратор
  • *
  • Сообщений: 1414
  • Репутация: 303
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Такой наш скромный подарок к новому 2012 году  ;)

:IL_AutoIt_1: Всех с наступающим Новым Годом!  :IL_AutoIt_1:

   
На форуме принято отмечать полезные сообщения пальцем вверх =)
Никогда не даю подробных примеров сразу, я сначала навожу на мысль - как можно написать. Учитесь мыслить сами, а не за других людей.

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3573
  • Репутация: 923
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Ну что же, на первый взгляд очень, очень даже недурно! Скажу даже больше, а именно, то, что сказать нечего!  ;D
Отлично! :ok:
Останется только попробовать, в действие! :beer:

Скорблю и помню.




Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4020
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
я так полагаю, код закрыт?

Русское сообщество AutoIt

Re: SynFolders 3.0 - Программа для синхронизации папок
« Ответ #3 Отправлен: Декабрь 31, 2011, 01:02:56 »

Оффлайн Medic84 [?]

  • Администратор
  • *
  • Сообщений: 1414
  • Репутация: 303
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Kaster  [?]
Цитировать
я так полагаю, код закрыт?

Yashied  [?]
Цитировать
Программа написана полностью на AutoIt, является абсолютно бесплатной, но с закрытым исходным кодом (по крайней мере на данный момент).

Оффлайн BaRsupillamy [?]

  • Новичок
  • *
  • Сообщений: 58
  • Репутация: 0
    • Награды
так и знал, что к НГ управитесь :) молодцы ребята :) только тестить пока никак, потому что в основном использую для ношения информации с работу/на работу... ждём конца выходных...
но спасибо :) приятный подарок...


Добавлено: Декабрь 31, 2011, 01:45:18
появился вопрос...
или я недопонял суть профилей... помогите разобраться...
я думал сделать можно будет два профиля и запускать каждый по отдельности... один допустим дома - копирование трёх папок с флэхи на комп, второй - соответственно на этом же компе - только обратно с компа на флэшку... и на рабочем компе тех же два профиля - утром с флэшки на комп, вечером - с компа на флэшку...
и чтобы вот эти два профиля запускались по нажатию кнопки...из трея развернул прогу, нажал кнопку или строку профиля, он отработал... а в профиле уже три пути прописаны... такого не реализовано? или я не разобрался?
русский язык не помешал бы всё же... хотя вроде и в английском варианте всё понятно...

пути нельзя ручками писать? или я опять что то не так сделал? у меня пути одинаковые на флэшке и компе... т.е. я скопировал задание и думал просто поменять диск D на J... мне это вроде как не позволено...

сортировку, может, зря выключили в ListView... было бы полезно, если бы задания назывались по принципу HomeToWork и WorkToHome... скрин вот свой показал... это я так быстренько набросал, что мне надо было бы от проги вашей...

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


Добавлено: Декабрь 31, 2011, 02:01:13
или ваше предложения для решения задачи предложенной выше делать два таск-листа? может сделать какой то быстрый запуск одним нажатием кнопки нескольких таск-листов? т.е. нажал кнопку с подписанным таск-листом "WorkToHome" (ограничить несколько букв в подписи кнопки), отработал один таск-лист... перед уходом на работу нажал кнопку два... отработал другой... или в нынешней версии есть какой то вариант, которого я не увидел?
« Последнее редактирование: Декабрь 31, 2011, 02:01:13 от BaRsupillamy, Причина: Объединение сообщений »

Оффлайн Medic84 [?]

  • Администратор
  • *
  • Сообщений: 1414
  • Репутация: 303
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
BaRsupillamy  [?]
Цитировать
или я недопонял суть профилей... помогите разобраться...
Профили - это фишка Yashied, думаю он лучше объяснит для чего они нужны.

Цитировать
русский язык не помешал бы всё же... хотя вроде и в английском варианте всё понятно...
Русский язык будет, но позже.
Цитировать
пути нельзя ручками писать? или я опять что то не так сделал? у меня пути одинаковые на флэшке и компе... т.е. я скопировал задание и думал просто поменять диск D на J... мне это вроде как не позволено...
Если я Вас правильно понял, то лучше сделайте 2 разных задания, чем менять буквы.

Цитировать
сортировку, может, зря выключили в ListView... было бы полезно, если бы задания назывались по принципу HomeToWork и WorkToHome...
Мы ее и не включали =) Не видели смысла в ней.
Цитировать
хотелось бы и к этой увидеть исходники, если это будет возможно...
Вряд ли это будет возможно в ближайшем будущем. Только представте, в версии 2.0.0.5 было 600 строк кода, а в версии 3.0 в 12(!) раз больше. был вложен просто неописуемый труд. И в принципе принцип программы остался прежним.
Если же Вас конкретно интерисует тот или иной момент в программе и как он был осуществлен - спрашивайте, мы постараемся ответить на Ваши вопросы.

Оффлайн BaRsupillamy [?]

  • Новичок
  • *
  • Сообщений: 58
  • Репутация: 0
    • Награды
ну это правильно :)
если будут вопросы, я спрошу... я сделал тоже, как и у вас, контекстное меню по нажатию... но пока событий меньше обрабатываю... только правй клик, левый и дабл...
про профили очень интересно узнать...
на скрине видно, что я и сделал: два задания для копирования с флэшки и два для копирования с компа на флэшку... интересует возможность запустить проверку обоих путей одним кликом... т.е. чтобы профиль объединял пути... по моему что то похожее вы и сделали... просто я интуитивно не догадался, как правильно воспользоваться... потому подожду объяснений...


Добавлено: Декабрь 31, 2011, 02:53:46
про замены букв - я имел в виду сам факт... вы даёте создать копию уже имеющейся записи для упрощения создания похожих заданий... я бы в данном случае дал пользователю вручную путь ввести... как мне надо изменить две буквы в двух строках - это проще, чем выбирать через папки пути... это у меня они короткие, а у кого то может оказаться большая вложенность папок, к примеру... а так, только исправить корневые буквы...

Русское сообщество AutoIt

Re: SynFolders 3.0 - Программа для синхронизации папок
« Ответ #7 Отправлен: Декабрь 31, 2011, 02:51:32 »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2687
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Профили - это просто сохранение всех параметров синхронизации под одним именем в реестре.

HKEY_CURRENT_USER\Software\Y's\SynFolders\Profiles

Выбираются в диалоге создания/редактирования задания вместо ручного изменения всех параметров. Как вариант, можно еще скопировать само задание посредством контекстного меню.

По нажатию зеленой кнопки запускаются все активные задания (те, которые "Ready"). Для запуска только одного задания, как активного, так и нет, можно либо нажать кнопку "Run" в панели инструментов, либо через контекстное меню.

Пути писать ручками нельзя во избежаний всяких нехороших случайностей. Но, возможно, в обновлении это и будет добавлено.

Сортировки здесь нет по нескольким причинам, но вы можете сами перемещать задания вверх/вниз.

BaRsupillamy, я в этой версии не стал добавлять возможность объединения несколько заданий в группы, хотя и была такая идея. У вас сейчас есть несколько вариантов:

  • Поместить все необходимые папки в одну и создать на нее одно задание.
  • Создать для каждой папки свое задание и запускать их все поочереди.
  • Запускать синхронизацию посредством зеленой кнопки или через трей, но перед этим отключить все ненужные задания, нажав на них пробел, или через контекстное меню.
  • Экспорт/импорт списка.

« Последнее редактирование: Декабрь 31, 2011, 03:09:35 от Yashied »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2687
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
BaRsupillamy

Вы можете воспользоваться двусторонней синхронизацией (если не требуется удалять файлы).

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

Оффлайн SECTOR [?]

  • Продвинутый
  • ***
  • Сообщений: 387
  • Репутация: 55
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Вау :)  Все что могу сказать! :)
С новым годом)

Оффлайн Dm666 [?]

  • Осваивающий
  • **
  • Сообщений: 213
  • Репутация: 48
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.8.0
Хорошая программа, чувствуется многолетний опыт авторов. Оформление так вообще выше всяких похвал.  :ok:
Спасибо за релиз!

Есть пара вопросов по функциональности:
1. Судя по скорости работы, синхронизация делается уже не через  _RecFileListToArray, а как-то иначе. Можно хотя бы в общих чертах узнать принцип?

2. Возможность исключить из обработки определенные файлы/каталоги отсутствует? (то, что задается в _RecFileListToArray последними двумя параметрами)

3. Фалы Read-Only не удаляются?

4. Периодически появляется (0008)  Unexpected error, в разных местах, какой-либо логики в ее появлении не нашел. Что бы она могла значить?

Цитировать
###SynFolders v3.0###

2012-01-01  13:08:07  (0000)  Start synchronization...          C:\Program Files\AutoIt3 >>> E:\Temp\Dropbox\Install\Utilites\AutoIt3
2012-01-01  13:08:16  (0000)  File copied                       E:\Temp\Dropbox\Install\Utilites\AutoIt3\au3.user.calltips.api.test
2012-01-01  13:08:19  (0008)  Unexpected error                  E:\Temp\Dropbox\Install\Utilites\AutoIt3\!Help\MouseSetOnEvent_UDF_1.8.zip

2012-01-01  13:11:22  (0000)  Start synchronization...          C:\Program Files\AutoIt3 >>> E:\Temp\Dropbox\Install\Utilites\AutoIt3
2012-01-01  13:11:34  (0005)  Cannot delete file                E:\Temp\Dropbox\Install\Utilites\AutoIt3\au3.user.calltips.api.test

2012-01-01  13:12:28  (0000)  Start synchronization...          C:\Program Files\AutoIt3 >>> E:\Temp\Dropbox\Install\Utilites\AutoIt3
2012-01-01  13:12:37  (0008)  Unexpected error                  C:\Program Files\AutoIt3\AutoIt Debugger GUI
2012-01-01  13:12:39  (0005)  Cannot delete file                E:\Temp\Dropbox\Install\Utilites\AutoIt3\au3.user.calltips.api.test

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379

  • Автор темы
  • Репутация: 2687
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Судя по скорости работы, синхронизация делается уже не через  _RecFileListToArray, а как-то иначе. Можно хотя бы в общих чертах узнать принцип?

Рекурсивный поиск файлов с помощью FileFindFirstFile() и FileFindNextFile().

Возможность исключить из обработки определенные файлы/каталоги отсутствует? (то, что задается в _RecFileListToArray последними двумя параметрами)

На данный момент можно только задать маску для обработки, но не исключающую маску.

3. Фалы Read-Only не удаляются?

Нет, на то они и "Read-Only".

Периодически появляется (0008)  Unexpected error, в разных местах, какой-либо логики в ее появлении не нашел. Что бы она могла значить?

Это уже более интересно. Ошибка 8 говорит, что нехватает памяти... Вообщем, не о чем не говорит.

Какая система?
Включен ли антивирус?
E:\ - это что за диск?
Производятся ли какие-нибудь посторонние действия с папками во время синхронизации?

P.S

Я сейчас сколько не тестировал, но так и не смог получить эту ошибку. А вообще, это системная ошибка и возвращает ее FileFindNextFile().

Windows 7, x86

Оффлайн Dm666 [?]

  • Осваивающий
  • **
  • Сообщений: 213
  • Репутация: 48
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.8.0
Yashied
Понятно, спасибо.
Yashied  [?]
Цитировать
На данный момент можно только задать маску для обработки, но не исключающую маску.
Нет, на то они и "Read-Only".
А жаль.  Такие опции бы пригодились :whistle:


Цитировать
Это уже более интересно. Ошибка 8 говорит, что нехватает памяти... Вообщем, не о чем не говорит.Какая система?Включен ли антивирус?E:\ - это что за диск?Производятся ли какие-нибудь посторонние действия с папками во время синхронизации?
WinXP SP3, IntelCore2 Duo E8500, 4Gb RAM.
Е: - Логический раздел. Терабайтник разбит на несколько кусков, для удобства. На Е: 200Гб всего, из них 14Гб свободно. Антивирус Kespersky 5.0 (раритет ;))

Но это все не важно, причину ошибки отловил. Виноват работавший в фоне TotalVideoConverter, перегонявший mpeg в avi. При чем брал он mpeg с диска Н: а создавал avi на том же самом многострадальном Е:  ;).
Если при этом запустить синхронизацию, то с вероятностью 95% ругнется 1 раз на совершенно случайный каталог. Синхронизация при этом не обрывается (на сколько мне удалось протестить) так что вроде как все нормально  ;)


Оффлайн Guezt Gutsy [?]

  • Продвинутый
  • ***
  • Сообщений: 335
  • Репутация: 81
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Отличная работа!
Хотелось бы в следующих версиях что бы список синхронизации сохранялся (я не понял как его сохранить только импорт  экспорт?! ) тогда какой смысл указывать периодичность обновления если после закрытия программы и повторного ее открытия список пуст пробовал сохранять в профиль но у меня выдает ошибку...
(нажмите для показа/скрытия)

ну на счет первого могу грубо ошибаться, прошу прощения если это не так, а вот подтверждение выхода из программы не помешало бы? а то просто клик и вышли(по привычке просто qipskype и другие которые сворачиваются в трей по крестику).
p.s. Win 7 x64

Русское сообщество AutoIt

Re: SynFolders 3.0 - Программа для синхронизации папок
« Ответ #14 Отправлен: Январь 07, 2012, 22:33:27 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
5875 Просмотров
Последний ответ Март 24, 2010, 12:09:02
от Yashied
33 Ответов
15385 Просмотров
Последний ответ Сентябрь 06, 2010, 12:32:16
от Alexey
61 Ответов
23196 Просмотров
Последний ответ Январь 01, 2012, 21:36:27
от CreatoR
2 Ответов
1815 Просмотров
Последний ответ Август 31, 2011, 14:44:06
от Viktor1703
82 Ответов
22351 Просмотров
Последний ответ Декабрь 08, 2012, 23:00:00
от Jan-Jak
0 Ответов
1515 Просмотров
Последний ответ Сентябрь 15, 2013, 17:54:53
от Naisho
16 Ответов
9101 Просмотров
Последний ответ Июль 04, 2014, 00:17:59
от CreatoR
4 Ответов
1595 Просмотров
Последний ответ Май 12, 2014, 10:08:42
от Greyzer
33 Ответов
8282 Просмотров
Последний ответ Январь 26, 2015, 09:53:01
от Aleksandr Prilutskiy
11 Ответов
1356 Просмотров
Последний ответ Июнь 27, 2015, 17:48:19
от madmasles