1 (изменено: Мпэт, 2012-07-20 11:31:59)

Тема: AHK: Синхронизация скриптов на 3-х компах через интернет

Имею в пользовании 3 компа. Дома комп и ноут и комп на работе.
Наверняка у каждого, кто пользуется АНК, есть постоянный скрипт, который запускается вместе с виндой и выполняет к примеру переназначение горячих клавиш и прочее.
Мой постоянный скрипт, я частенько изменяю и дополняю новыми функциями.
Но постоянно копировать обновлённый скрипт на другие компы не айс.
Поэтому появилась идея, чтоб мой домашний комп сам отслеживал изменения и через FTP обновлял скрипт хранящийся на моём сайте.
А домашний ноут и рабочий комп сами отслеживали обновление скрипта на сайте и если он свежее, то копировали с заменой себе.

Идея то есть, а вот как это всё собрать не знаю. Т.к. с FTP в АНК ещё не сталкивался.
Заранее спасибо.

P.S. Проще говоря. При запуске, скрипт сравнивает себя со скриптом на сервере. Если он свежее, чем скрипт на сервере, он копирует сам себя на сервер. А если на сервере скрипт свежее, то копирует его на комп и перегружается.
Таким образом, при изменении скрипта на одном компе, он автоматически меняется и на других.
К сайту подключаюсь через тотал коммандер по такому принципу
http://data4.floomby.com/files/share/19_7_2012/bbkLL8Vq0aBKbQwAMxCQ.jpg

2

Re: AHK: Синхронизация скриптов на 3-х компах через интернет

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

3

Re: AHK: Синхронизация скриптов на 3-х компах через интернет

Или воспользуйтесь Dropbox, например.

4 (изменено: Irbis, 2012-07-20 19:57:04)

Re: AHK: Синхронизация скриптов на 3-х компах через интернет

Чем google диск или dropbox не устраивает? (Не считая того, что это сторонние продукты, в отличие от самописных скриптов, а значит не true )

Upd: creature.ws опередил мою мысль.

5 (изменено: Мпэт, 2012-07-22 01:21:58)

Re: AHK: Синхронизация скриптов на 3-х компах через интернет

ypppu пишет:

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

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

6 (изменено: Мпэт, 2012-07-22 01:22:23)

Re: AHK: Синхронизация скриптов на 3-х компах через интернет

Irbis пишет:

Чем google диск или dropbox не устраивает? (Не считая того, что это сторонние продукты, в отличие от самописных скриптов, а значит не true )

Upd: creature.ws опередил мою мысль.

Дело в том, что мне не нужны сторонние продукты. Это лишнее захламление компа и не известно чем занимаются эти программы помимо нужного.
А когда пишешь сам, знаешь что, куда и как.

7 (изменено: Мпэт, 2012-07-22 01:22:45)

Re: AHK: Синхронизация скриптов на 3-х компах через интернет

Но всё равно спасибо за ответы. Буду искать дальше.

8

Re: AHK: Синхронизация скриптов на 3-х компах через интернет

Встроенных средств в AHK нету, поэтому либо используй сторонние компоненты, либо реализуй взаимодействие с сервером самостоятельно(send/recv), пример есть в википедии.

9 (изменено: Мпэт, 2012-07-22 01:23:26)

Re: AHK: Синхронизация скриптов на 3-х компах через интернет

Александр_ пишет:

Встроенных средств в AHK нету, поэтому либо используй сторонние компоненты, либо реализуй взаимодействие с сервером самостоятельно(send/recv), пример есть в википедии.

Вот тут есть обсуждение отправки файла по FTP. http://forum.script-coding.com/viewtopic.php?id=6193
Да и по интернету находил некоторые варианты, но они все разные и непонятные.
А на script-coding.com в списке комманд есть на скачивание файла "URLDownloadToFile", но никаких примеров её использования я не нашёл.

10 (изменено: Мпэт, 2012-07-22 01:23:42)

Re: AHK: Синхронизация скриптов на 3-х компах через интернет

Александр_ пишет:

Встроенных средств в AHK нету, поэтому либо используй сторонние компоненты, либо реализуй взаимодействие с сервером самостоятельно(send/recv), пример есть в википедии.

Сдесь тоже что-то подобное http://www.script-coding.com/AutoHotkey/FileAppend.html

11

Re: AHK: Синхронизация скриптов на 3-х компах через интернет

Мпэт, у нас принято пользоваться шифтом, отредактируй свои посты.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

12 (изменено: Мпэт, 2012-08-05 23:18:42)

Re: AHK: Синхронизация скриптов на 3-х компах через интернет

Вот что-то типа того нужно.


FileGetTime, timeloc, C:\My Documents\script.ahk, M ; Возвращает время изменения файла на компьютере.
FileGetTime, timesite, http//site.ru/folder/script.ahk, M ; Возвращает время изменения файла на сайте.
if (timeloc=timesite) ; если даты изменения совпадают
	{
	goto, script ; запускается скрипт
	}

if(timeloc>timesite) ; если скрипт на компьютере изменён позже, чем тот, что на сайте
	{
	MsgBox, 4,, Скрипт был изменён, но не отправлен на сайт.`nОтправить?
	IfMsgBox, Да
		{
		??????? ; копируем с заменой скрипт с компьютера на сайт
		}
	IfMsgBox, Нет
		{
		goto, script ; запускается скрипт
		}
	}
if(timeloc<timesite) ; если скрипт на сайте изменён позже, чем тот, что на компьютере
	{
	MsgBox, 4,, Скрипт на сайте был изменён, но не загружен на компьютер.`nЗагрузить?
	IfMsgBox, Да
		{
		??????? ; копируем с заменой скрипт с сайта на компьютер
		}
	IfMsgBox, Нет
		{
		goto, script ; запускается скрипт
		}

script:
MsgBox, Скрипт работает.
return

Там где вопросы, нужно вставить комманду, которая через FTP отправляет или загружает файл.
По поводу


FileGetTime, timesite, http//site.ru/folder/script.ahk, M ; Возвращает время изменения файла на сайте.

тоже не уверен, что будет работать.
Может есть аналог?
Скрипт небольшой и интернет безлимитный. Поэтому можно загружать скрипт с сайта каждый раз для сравнения даты изменения.