gifts2017

Синхронизация измененных файлов между флэшкой и жеским диском ets.

Опубликовал J7ReW в раздел Администрирование - Системное

Сгорела как-то рабочая флэшка и много нужностей и полезностей исчезло, т.к. крайний раз данные копировались на жесткий диск достаточно давно. Задумался...
Сторонних программ синхронизации - море, а хотелось свое, под свои требования. В общем, проще написать, чем разбираться в чужом коде. В виде конфигурации 1С не устраивало, нужна была мобильность, независимость от платформы и версии Windows. Быстро, просто, удобно. Бесплатно.
Получилось ЭТО, работает полгода, устраивает...

Программа представляет собой один исполняемый файл и файл настроек .ini, находящийся в каталоге программы (создается автоматически), которые закидываются в любую папку на флэшке.

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

При настройке источника можно указать папки, которые будут игнорироваться при синхронизации (рекомендуется указать в первую очередь папку с самой программой, т.к. ini файл постоянно переписывается). Для каждого элемента показывается описание в строке состояния. Интерфейс "слизан" с 1С. Почти...

Когда настройка создана, она выделяется мышкой, при нажатии кнопки "Синхронизация" происходит собственно она.

!!!

Если не установлен флажок у настройки, синхронизируются файлы, дата изменения которых старше даты, записанной в настройке. При установленном флажке дата не проверяется - копируется все.

!!!

По окончании синхронизации выводится окно сообщения о скопированных файлах. Проверено на Win XP и Vista.

P.S. Писалось "для себя", конструктивная критика и пожелания принимаются с благодарностью.

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

Наименование Файл Версия Размер
Архив с программой 109
.zip 1,02Mb
04.02.10
109
.zip 1,02Mb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Александр Зубцов (iov) 04.02.10 19:27
хм.... ну да ладно может кому и пригодится ..
Имеет место быть..
Ну как альтернативу посмотрите http://www.xstarter.com/rus/index.html (там задачу можно по втыканию флешки организовать и сообщением типа "доставай хозяина я синхронизировалась") короч много там чего.
2. Алексей Ситников (SiAl) 05.02.10 13:06
Запускается самостоятельно или при "втыкании" флэшки?
3. J7ReW 05.02.10 13:15
(1) Спасибо, посмотрю
(2) Запуск производится вручную, т.к. предполагается, что программа постоянно находится на флэшке и не делает записей в реестре, не висит в процессах. Схема такая: воткнул флэшку, запустил программу, выбрал настройку, запустил синхронизацию, просмотрел отчет, закрыл.
4. tAndy (tandy82) 10.02.10 05:25
Начиная с Windows 95 существует встроенные в систему средство синхронизации, которое называется Портфель (Briefcase).

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

Я так синхронизирую флешку уже несколько лет.

Справка windows xp:

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

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

Портфель хранит файлы и отображает их состояние. Например, он показывает связан ли файл с исходным файлом на основном компьютере или это файл без пары. Эти данные помогают сохранить упорядочивание файлов и предотвратить нежелательное удаление или замену последней версии файла промежуточной.
5. tAndy (tandy82) 10.02.10 05:27
+ как включить портфель, можно прочитать в справке windows
6. FIGOR 11.02.10 09:11
Хотелось бы еще иметь возможность зиповать данные и уже потом копировать на флешку, а потом раззиповывать в указанный каталог на диске с флешки. :idea: Возможно ли подключение архиватора какого? :oops:

Можно ли предварительно удалить файл с флешки или переименовать, чтобы не затереть уже имеющийся, а потом уже выполнить задание по архивации файла на диске и записи его на флешку. То же самое делать в
обратную сторону с флешки на диск.
:?:
7. J7ReW 12.02.10 09:21
(6) По архивированию можно доработать. Нужна еще будет настройка, какие именно файлы/папки архивировать, так ведь?
Как я понял, нужно не затирать имеющиеся файлы, а дописывать переименовывая к уже имеющимся?
8. FIGOR 12.02.10 13:23
Да, было бы неплохо иметь возможность указать после архивирования к примеру таким образом:

если файл-архив с таким именем существует (на флешке), то при копировании файла с диска на флешку
либо: удалять исходный файл (на флешке)
либо: дописать файл на флешку добавив к имени файла номер (001) либо дату создания файла-архива (01_10) (день_месяц)

причем, количество номеров можно задать к примеру от 1 до 5 и тогда после записи пятого номера будет автоматически удаляться первый и на его место записываться новый первый номер. Таким образом можно иметь возможность получать копии не только текущие, но и предыдущие 5 штук.

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

Разворачивать обратно с флешки хотелось бы тоже иметь возможность в новую папку из более нового архива. Так дома уже есть база за предыдущий день и можно её не затирать а развернуть новый архив в новую папку на компьютере, к примеру в папку ..Базы бухгалтерии\ где уже есть папка с базой предыдущего дня. ..\база_01_10 развернуть архив с датой от 02-10-2010 который помечен как 02_10 в папку ..база_02_10\ . А если по номеру, то можно так:
.. база_01\ , база__02\, а потом затирать имеющиеся на компе, переписывая заново, так как номер файлов-архивов опять начал идти с 01. Таким образом на компе мы будем иметь постоянно определенное количество версий баз, да и других файлов