gifts2017

Синхронизация файлов

Опубликовал Никита (Mopo3) в раздел Администрирование - Сервисные утилиты

Простая обработка для синхронизации файлов на локальных и сетевых дисках.

В процессе поиска программ для синхронизации пришел к выводу, что лучше написать свою обработку на 1С. Существующие программы не устраивали по тем или иным причинам: неудобство в использовании, хранение временных файлов и пр. корявости.

2009.12.28 - исправлены ошибки с созданием новых каталогов и копированием в них файлов; пустые каталоги теперь удаляются в зависимости от направления синхронизации.

2010.01.11 - исправлено еще несколько мелких ошибок, доработан юзабилити.

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

2010.04.02 - очередное обновление. Возможность группировать каталоги синхронизации в произвольные смысловые папки, типа: Архивы, Ежедневная синхронизация и пр. Улучшен алгоритм сохранения/восстановления настроек. Изменен алгоритм синхронизации: файлы, имеющие разницу в менее чем в 2 секунды игнорируются (при копировании файлов с диска на диск иногда время файла отличается от исходного на 1-2 секунды). Игнорирование времени в 1 час при переходе на летнее время делать не стал, уж извините - все равно последний раз стрелки переводим видимо. Улучшен еще какой-то функционал, исправлены какие-то ошибки - уже не помню точно какие :)

2010.04.20 - сохранения/восстановление настроек в/из внешнего файла.

2010.05.13 - исправлены ошибки, связанные с удалением пустых каталогов.

2010.06.14 - Исправлена ошибка, когда автоматически всегда создавались каталоги.

Добавлена двухсторонняя синхронизация (без указания источника) - в этом случае направление синхронизации (действие с отличающимися файлами) будет определяться для каждого файла отдельно.

Скачать файлы

Наименование Файл Версия Размер
Синхронизация 55
.epf 21,54Kb
07.08.14
55
.epf 21,54Kb Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. dushelov (Душелов) 25.12.09 12:20
Синхронизация чего, с чем и откуда? Нельзя ли более расширенное описание.
2. Александр Рытов (Арчибальд) 25.12.09 12:24
Не, ну я балдею. Весь день загадки всякие появляются. :evil:
3. Никита (Mopo3) 25.12.09 12:25
Простите-простите :) Изменил заголовок :)
4. Александр (dobraleks) 25.12.09 17:28
(2) чем ближе к новому году тем люди рассеяннее становятся, все мысленно уже почти за праздничным столом.. :)
5. Андрей Григорьев (Borisych) 30.12.09 19:33
Использовал как-то метод ПолучитьВремяИзменения() - он возвращал время создания, несмотря на то что специально изменял файл - в total commander`e все видно, а метод вернул дату создания
если с этим моментом все будет хорошо - тогда пожелание синхронизировать сразу в две стороны - по более старшей дате изменения
в общем, будет время - и сам доработаю под свои нужды
6. Никита (Mopo3) 31.12.09 15:23
(5) вроде бы проблем с обновлением более старого файла на новый в процессе использования не возникало пока.
Если доделаете - опубликуйте здесь ссылку на доработанную версию плиз.
7. aga_aga (Збянтэжаны Саўка) 10.02.10 10:43
Хорошо! +
Но зачем при простом выводе строки реально работать с каталогами на диске:

Если ДанныеСтроки.Пометка И ДанныеСтроки.Родитель = Неопределено И Не Файл.Существует()
И Вопрос("Каталог """ + ДанныеСтроки.ИсходныйФайл + """ не существует. Создать?",
РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда
СоздатьКаталог(ДанныеСтроки.ИсходныйФайл); //???

А кто потом отвечать будет, когда юзер скажет: "А я только посмотреть хотел"?
Да к тому же и прав на запись у него может и не быть?

1-й Принцип: Ничего и Никогда НЕ менять в просмотре!!! :)
8. Никита (Mopo3) 10.02.10 17:01
(6) так нажмет юзер "Нет" - и каталог не создастся :) Не виже проблемы...
9. aga_aga (Збянтэжаны Саўка) 11.02.10 09:46
(8) А не запарится он отвечать на вопросы? :)
10. Никита (Mopo3) 11.02.10 14:37
Так есть же:
Если ДанныеСтроки.Пометка
11. aga_aga (Збянтэжаны Саўка) 15.02.10 09:15
(10) Ну мало ли что бывает в жизни...
Скажем, пометки остались от прошлого сеанса, а юзер хочет только посмотреть, есть ли новые отличия...
12. Никита (Mopo3) 15.02.10 10:09
Если юзер хочет только посмотреть, есть ли новые отличия, то это подразумевает, что каталоги и файлы физически уже существовали, так что ничего не изменится. А для просмотра отличий можно юзать кнопку "Список".
13. aga_aga (Збянтэжаны Саўка) 15.02.10 16:48
(12)
> что каталоги и файлы физически уже существовали
Это не так, - могли быть новые изменения после последнего просмотра.

> А для просмотра отличий можно юзать кнопку "Список"
Так может с этого "Списка" и надо бы начинать работу обработки?..
14. Никита (Mopo3) 16.02.10 09:25
Кнопка "Выполнить" = кнопка "Список" + кнопка "Синхронизация".

Кнопка "Список" - проверка изменений, сравнение
Кнопка "Синхронизация" - синхронизация по списку, сформированному по кнопку "Список".

Вроде бы необходимый минимум есть, все остальное доделать нетрудно. Есть конкретные пожелания - готов доделать :)
15. Роман (Raminus) 22.09.11 10:45
16. Максим Волков (maxlenium) 16.02.12 23:46
Давно искал нечто подобное. Нашел по ссылке из другого описания. Автору спасибо
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа