Помогите с автоматической синхронизацией каталогов

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Ramrr
Сообщения: 11
Зарегистрирован: Вт янв 31, 2012 20:37

Помогите с автоматической синхронизацией каталогов

Сообщение Ramrr »

Как автоматически синхронизировать файлы в 2-х каталогах при запуске TC? ТС в автозагрузке у двух ОС.
Есть 2 диска у 2 ОС, На 1-й ОС Опера сохраняет скажем сессии в каталоге d:\11\, а на 2-й ОС её Опера на с:\22\ . На обоих системах ТС стоит в автозагрузке. Вот и хотелось бы чтобы эти каталоги синхронизировались по дате, т.е. новые файлы перекидывались вместо старых при загрузке ТС. Т.о. образом независимо от какой ОС я загружаюсь, сессия будет одна, ну или для qTorrent - тоже самое. Путь у папок определённый, синхронизировать при загрузке ТС.
Может быть есть плагины которые могут помочь? Я поискал на форуме, но понятного решения не нашёл, скачал diskdirextended и diskdir попробовал с ними - ничего не получилось....
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

А смысл? Не проще ли сделать общую папку профиля?

Во-первых, Опера позволяет хранить профиль в папке установки, для этого нужно в файле operaprefs_default.ini добавить параметр:

Код: Выделить всё

[System]
Multi User=0
Во-вторых, можно в одной системе папку профиля сделать точкой соединения (например, с помощью утилиты NTFSLinks) на папку профиля другой системы и добавить права доступа к папке, и профиль будет один, а в другом месте - просто ссылка на него.

Обращу внимание, что профиль у последних Опер состоит из 2 папок (AppData\Local\Opera\Opera и AppData\Roaming\Opera\Opera), поэтому надо делать 2 точки соединения (впрочем, папка в Local хранит лишь кэш, его делать общим необязательно). А если включить портативный режим, то нужно эти обе папки слить в одну папку profile в папке Оперы.
Ramrr
Сообщения: 11
Зарегистрирован: Вт янв 31, 2012 20:37

Интересен сам принцип такой возможности.

Сообщение Ramrr »

Дело в том что это нужно не только для Оперы, но и для ряда других программ, среди них qTorrent (общая одинаковая раздача для 2-х систем, хотя там тоже в принципе вроде можно прописать путь для установок).
Интересен сам принцип такой возможности. Да и друг тоже меня уже несколько раз просил и не первый год. Если это осуществить сложно, то жаль :(
Аватара пользователя
ApceH
Сообщения: 316
Зарегистрирован: Пт апр 08, 2011 17:58
Откуда: Димитровград

Сообщение ApceH »

Ramrr
MVV писал(а):Во-вторых, можно в одной системе папку профиля сделать точкой соединения (например, с помощью утилиты NTFSLinks) на папку профиля другой системы и добавить права доступа к папке, и профиль будет один, а в другом месте - просто ссылка на него.
Об этом и сказали. Это как раз универсальный способ, требуемый принцип такой возможности.
kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия...
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Ramrr писал(а):Интересен сам принцип такой возможности.
Я правильно понимаю, что вариант с вызовом (скажем, с помощью плагина Autorun) пользовательской команды вида
SYNCOPEN = имя_шаблона_синхронизации не подойдёт, поскольку команда проведёт только сравнение нужных каталогов сразу после открытия диалога синхронизации, а нажимать затем кнопку "Синхронизировать" и, возможно, ещё какие-то кнопки, связанные с перезаписью файлов, придётся самому пользователю?
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

sa
Это предлагалось мной тому же пользователю на ру-борде (причём в более автоматизированном варианте, с использованием параметров командой строки /S=S:=имя_шаблона) и, как я понял, показалось не совсем тем, чего хочется, после чего и последовало обращение сюда.
Даже самая богатая фантазия
Не представит себе наши безобразия.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Avada писал(а):с использованием параметров командой строки /S=S:=имя_шаблона
Я рассматривал этот вариант. А ничего, что в нём нет открытия основного окна TC? Придётся батник городить…

P.S. Про вопрос на ру-борде был не в курсе
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

sa
Наверное, следовало действительно дать ссылку на обсуждение на ру-борде. Впрочем, самое существенное здесь уже повторено. Поскольку TC по исходным условиям стоит в автозагрузке (то есть открытие основного окна уже выполняется), предлагалось при его запуске автоматически вызывать через Autorun или TWinKey пользовательскую команду, назначенную для всей этой конструкции с параметрами. Вместе, а не вместо. Правда, на работоспособность я такую цепочку не проверял, это чисто теоретические построения.
Даже самая богатая фантазия
Не представит себе наши безобразия.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Avada писал(а):Правда, на работоспособность я такую цепочку не проверял
Я проверял, через Autorun – работает.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

sa писал(а):а нажимать затем кнопку "Синхронизировать" и, возможно, ещё какие-то кнопки, связанные с перезаписью файлов, придётся самому пользователю?
А появление самого окна синхронизации при каждом запуске TC - это так, мелочь?
Тут явно скрипт только может помочь. Но, откровенно, предложенное слияние профилей - куда более разумное решение. Мучать постоянно при каждом запуске разные папки - это не дело...
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):А появление самого окна синхронизации при каждом запуске TC - это так, мелочь?
При частом перезапуске TC можно в автозагрузку ОС вставить bat-файл, где вызову TC будет предшествовать вызов инструмента синхронизации каталогов без открытия основного окна TC ( параметр /S=S:имя_шаблона).
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

sa писал(а):можно в автозагрузку ОС вставить bat-файл
Если уж и вставлять, то нормальный скрипт без всяких окон и т.п. Синхронизировать нужно именно по дате модификации и никак иначе, и без лишних манипуляций. То, что окно уйдёт на задний план, не означает, что всё само синхронизируется с учётом пожеланий топик-стартера.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):То, что окно уйдёт на задний план
Не знаю, о чём ты писал. Я вот об этом параметре командной строки:
/S=S Запускает отдельным процессом инструмент синхронизации каталогов без открытия основного окна TC. В параметрах командной строки можно указать либо непосредственно два пути, либо шаблон в форме /S=S:имя_шаблона
Если параметр начинается со знака равенства "=" (например, /S=S:=имя_шаблона), сравнение начнётся сразу после открытия диалога.
В bat-файле должны присутствовать 2 строчки:
<путь>\totalcmd.exe /S=S:=123
<путь>\totalcmd.exe
Первая для вызова инструмента синхронизации TC (123 - имя шаблона), вторая – самого TC.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Об этом и писал. Исходная задача "синхронизировать" тут в каком месте выполняется? Не вижу...
Ramrr
Сообщения: 11
Зарегистрирован: Вт янв 31, 2012 20:37

можно подробности

Сообщение Ramrr »

Я извиняюсь не совсем всё понимаю что вы пишите, поэтому прошу подробности. Я вот напишу, а вы меня поправьте. Итак мне надо:
1.создать бат-файл который будет в автозагрузке
2. в батфайле написать <путь>\totalcmd.exe /S=S:=123
<путь>\totalcmd.exe
вопросы:
<путь> - чей путь, ТС?
пути у каталогов 2 для синхронизации 2
имя_шаблона=123 - какого шаблона и что д.б. в шаблоне и где его положить?
Ответить