Страница 1 из 1

Скрипт обновления программ и файлов

Добавлено: Пт май 13, 2016 17:54
cojoc
Нужен инструмент для автоматического обновления программ и одиночных файлов по ссылкам из списка и сценария операций со скаченным.

Программы по ссылкам либо портабельные в zip/7zip, либо распаковываются 7zip или UniExtract, т.е. не требующие обязательной установки через инсталлятор.

Пример:
Есть ссылка вида https://ffmpeg.zeranoe.com/builds/win32 ... -shared.7z, нужно распаковать архив указанным инструментом (например 7zip) и содержимым заменить то, что лежит по указанному адресу (тут бы хорошо указать, что заменять: 1.всё, 2.всё за исключением файлов (например файл настройки (.ini) не заменять)).
или
Скачать по ссылке программа.exe, распаковать указанным распаковщиком (innounp или UniExtract) и далее заменить всю указанную папку или указанные файлы по указанным адресам в папке TC (много программ у меня не инсталлировано, а распакованы и находятся в "портабельном" виде в Total Commander).

или третий вариант:
Скачать один файл по прямой ссылке (например TrIDDefs.TRD) и заменить скаченным старый файл по адресу.

Ещё было бы хорошо, чтобы прежде чем что-то закачивалось спрашивалось скачать? и распаковать-заменить?

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

Т.е. задача сделать по сценарию: скачивание - простая распаковка (иногда указать параметры) и замена файлов.

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

Добавлено: Сб май 14, 2016 02:52
Skif_off
cojoc
Наверное, стоит озвучить список программ и файлов? NirLauncher, например, можно сливать только с аналогом ключа --referer у wget, просто прямая ссылка не прокатит.
cojoc писал(а):Ещё было бы хорошо, чтобы прежде чем что-то закачивалось спрашивалось скачать? и распаковать-заменить?
Второе особо и ни к чему, исключения (те же конфиги) можно добавить сразу. С первым сложнее.
[cut]У себя делал так, например: обновление SynWrite, обновление утилит NirSoft (первое стало результатом освоения способа вытаскивать инфу со страницы в интернете с попутным желанием при обновлении сохранить изменённую библиотеку лексеров, что с батником сложновато :))[/cut]

Добавлено: Сб май 14, 2016 03:06
Flasher
Skif_off писал(а):с аналогом ключа --referer у wget
С ключами -r и -l не путаем? Вообще wget тут не нужен.
Skif_off писал(а):С первым сложнее.
Это почему же?

Добавлено: Сб май 14, 2016 13:52
Skif_off
Flasher
1. Нет, не путаем, при чём тут вообще рекурсия и её глубина? Достаточно прочитать описание --referer (проблема и решение были озвучены здесь).
2. Разница есть: "слить файл по ссылке готовой ссылке" и "прочитать версию/дату со страницы в сети или вытащить с неё ссылку и/или распарсить её на предмет версии, сравнить с локальной и предложить обновить, если свежее"? Страница загрузки NirLauncher, например.

Добавлено: Сб май 14, 2016 13:57
Flasher
Skif_off
1. Не смотрел конкретно в отношении именно NirSoft-a, но общая проблема рекурсии никуда оттого не делаcь. Посему обе ситуации нужно осветить.
2. Какое парсинг имеет отношение к окну с вопросом о закачке? :?

А что касается ссылок, то на все программы никаким кодом не напасёшься, поэтому я понял cojoc-a правильно - ссылки берутся в неизменном виде.

Добавлено: Сб май 14, 2016 14:29
Skif_off
Flasher
1. Спросил у топикстартера список утилит/файлов, аргументируя тем, что, например, утилиты от NirSoft так просто по прямой ссылке не сольёшь, т.к. прикручен реферер. При чём тут рекурсия и её "общая проблема"?
2. Смысл окна с вопросом о закачке тогда какой? Хочешь скачать и обновить - запускаешь скрипт, не хочешь - не запускаешь скрипт.
3. В ссылке может быть номер версии, поэтому спросил о списке программ/файлов.

Добавлено: Сб май 14, 2016 14:33
Flasher
Skif_off
1. При том, что помимо NirSoft-a есть куча других мест.
2. Нужно от случайных выполнений. Иначе запрос понять невозможно.
3. Я в курсе, что может. Но написано "ссылка вида ...ffmpeg-latest-win32-shared.7z", а не абы какая.

Добавлено: Сб май 14, 2016 16:06
Skif_off
Flasher
1. Я не о куче мест, а о том, что в некоторых местах есть нюансы с прямыми ссылками и есть разница - кликнуть по ссылке или использовать скопированную ссылку не в браузере.
2. Воспринял мысль шире :) У себя обычно использую какие-нибудь условия - скрипты случайно не сделают ничего.
3. Поэтому спросил список.

Добавлено: Сб май 14, 2016 17:43
Staniclaw
cojoc
В докачивалке DownloadMaster есть функция автообновления. Смысл такой: в дереве в левой части окна там есть категория, которая так и называется: ''Автообновление''. Создаёшь в ней подкатегорию, в свойствах которой указываешь:
  1. тип автообновления -- постоянно, ежедневно или по дням недели (выбираешь дни);
  2. событие обновления -- по времени (выбираешь время), при запуске ''Димастера'', при начале скачивания других файлов или при подключении к Интернету.
В созданную подкатегорию помещаешь закачку. Я так скачиваю программу передач и тот же triddefs.trd.