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

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

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

Ответить
cojoc
Сообщения: 144
Зарегистрирован: Пт сен 04, 2009 16:53

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

Сообщение 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 и с определённым файлом с произвольным расширением не требующим распаковки будет достаточно для создания своего списка по шаблонам.

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

Если задача слишком максималистская и, возможно, ребяческая не гневитесь и не расстраивайтесь - программок много и часто забываешь их обновлять, да и где их брал (ссылки) тоже.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

cojoc
Наверное, стоит озвучить список программ и файлов? NirLauncher, например, можно сливать только с аналогом ключа --referer у wget, просто прямая ссылка не прокатит.
cojoc писал(а):Ещё было бы хорошо, чтобы прежде чем что-то закачивалось спрашивалось скачать? и распаковать-заменить?
Второе особо и ни к чему, исключения (те же конфиги) можно добавить сразу. С первым сложнее.
[cut]У себя делал так, например: обновление SynWrite, обновление утилит NirSoft (первое стало результатом освоения способа вытаскивать инфу со страницы в интернете с попутным желанием при обновлении сохранить изменённую библиотеку лексеров, что с батником сложновато :))[/cut]
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Skif_off писал(а):с аналогом ключа --referer у wget
С ключами -r и -l не путаем? Вообще wget тут не нужен.
Skif_off писал(а):С первым сложнее.
Это почему же?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Flasher
1. Нет, не путаем, при чём тут вообще рекурсия и её глубина? Достаточно прочитать описание --referer (проблема и решение были озвучены здесь).
2. Разница есть: "слить файл по ссылке готовой ссылке" и "прочитать версию/дату со страницы в сети или вытащить с неё ссылку и/или распарсить её на предмет версии, сравнить с локальной и предложить обновить, если свежее"? Страница загрузки NirLauncher, например.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

А что касается ссылок, то на все программы никаким кодом не напасёшься, поэтому я понял cojoc-a правильно - ссылки берутся в неизменном виде.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Flasher
1. Спросил у топикстартера список утилит/файлов, аргументируя тем, что, например, утилиты от NirSoft так просто по прямой ссылке не сольёшь, т.к. прикручен реферер. При чём тут рекурсия и её "общая проблема"?
2. Смысл окна с вопросом о закачке тогда какой? Хочешь скачать и обновить - запускаешь скрипт, не хочешь - не запускаешь скрипт.
3. В ссылке может быть номер версии, поэтому спросил о списке программ/файлов.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Skif_off
1. При том, что помимо NirSoft-a есть куча других мест.
2. Нужно от случайных выполнений. Иначе запрос понять невозможно.
3. Я в курсе, что может. Но написано "ссылка вида ...ffmpeg-latest-win32-shared.7z", а не абы какая.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Flasher
1. Я не о куче мест, а о том, что в некоторых местах есть нюансы с прямыми ссылками и есть разница - кликнуть по ссылке или использовать скопированную ссылку не в браузере.
2. Воспринял мысль шире :) У себя обычно использую какие-нибудь условия - скрипты случайно не сделают ничего.
3. Поэтому спросил список.
Аватара пользователя
Staniclaw
Сообщения: 533
Зарегистрирован: Вс дек 12, 2010 15:37
Откуда: Ташкент

Сообщение Staniclaw »

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