Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Получение обновляемую ссылку для последующей закачки

Ответить
Настройки темы
CMD/BAT - [решено] Получение обновляемую ссылку для последующей закачки

Новый участник


Сообщения: 29
Благодарности: 2

Профиль | Отправить PM | Цитировать


Изменения
Автор: daradan
Дата: 01-11-2018
Всех приветствую.
Прошу не пинать, если кому-то покажется задача слишком легкой.
Хочу реализовать батник (именно батник, т.к. дальше имеется код в батнике для дальнейшей работы) для скачивания последней версии прошивки (которая еженедельно обновляется) для своего телефона.
Код получился такой
Код: Выделить весь код
rem // скачиваю целую страницу, где находятся 2 разные ссылки повторяющие дважды и сохраняю именем HM5Plus
wget -O HM5Plus http://www.miui.com/download-340.html

rem // отсеиваю ненужные тексты и получаю заветную ссылку
type HM5Plus | findstr "miui_HM5Plus_8" | grep "download_btn" | awk -F"\"" "{ print $6}"
В итоге получаю необходимую ссылку
Код: Выделить весь код
http://bigota.d.miui.com/8.10.25/miui_HM5Plus_8.10.25_55b500ece7_7.1.zip
но дальше не пойму как его записать в переменную, чтобы в дальнейшем подставить в wget
Бинарники используемые (awk, grep, sed, wget)
Спасибо

Отправлено: 12:35, 01-11-2018

 

Новый участник


Сообщения: 24
Благодарности: 5

Профиль | Отправить PM | Цитировать


Попробуйте через цикл... команда for может обрабатывать результат выполнения другой команды.

Последний раз редактировалось Amunrah, 01-11-2018 в 19:26.


Отправлено: 15:00, 01-11-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


for не может. for /f может.

Отправлено: 18:26, 01-11-2018 | #3


Новый участник


Сообщения: 29
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Iska:
for не может. for /f может. »
вот с for я не смог подружиться никак
можете помочь?!

Отправлено: 18:45, 01-11-2018 | #4


Новый участник


Сообщения: 24
Благодарности: 5

Профиль | Отправить PM | Цитировать


Цитата Iska:
for не может. for /f может. »
Разве команда for с ключом /f каким-то загадочным образом перестает быть командой for? )) конструкция for /f сама по себе тоже ничего не сделает, тогда следует, как минимум, и про кавычки уточнить...

Последний раз редактировалось Amunrah, 01-11-2018 в 19:38.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:13, 01-11-2018 | #5


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


daradan, а в чём сакральный смысл совместного использования grep и finfstr ?

Код: Выделить весь код
curl http://www.miui.com/download-340.html | findstr /R download_btn.*miui_HM5Plus_8 | set /P line=
set url=%line:~105,-3%

Последний раз редактировалось Busla, 02-11-2018 в 00:05. Причина: добавил код

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:53, 01-11-2018 | #6


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата Busla:
в чём сакральный смысл совместного использования grep и finfstr ? »
Лучше спросить в чем сакральный смысл использования всего этого привнесенного "зоопарка":
Цитата daradan:
Бинарники используемые (awk, grep, sed, wget) »
если есть встроенные средства:
powershell
Код: Выделить весь код
$url = ((iwr http://www.miui.com/download-340.html).links|?{
	$_.class -eq 'download_btn' -and $_.href -match 'miui_HM5Plus_8'
}).href
iwr $url -out $url.split('/')[-1]
## или даже фоновую закачку запустить start-bitstransfer, которая будет работать и после обрывов, перезагрузок и пр.:
# start-bitstransfer $url $url.split('/')[-1] -asynch -disp 'firmware'

-------
scio me nihil scire. Ѫ

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:51, 02-11-2018 | #7


Новый участник


Сообщения: 29
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Busla:
а в чём сакральный смысл совместного использования grep и finfstr ? »
в том, что методом тыка у меня так получилось

Пробую
Код: Выделить весь код
curl -x http://proxy:port http://www.miui.com/download-340.html | findstr /R download_btn.*miui_HM5Plus_8 | set /P line=
set url=%line:~101,-6%
rem // у меня вышло для отсеивания 101 и 6
echo %url%
получаю
Код: Выделить весь код
curl -x http://proxy:port
http://www.miui.com/download-340.html | findstr /R download_btn.*miui_HM5Plus_8 | set /P line=
set url=~101,-6
echo ~101,-6
~101,-6

Отправлено: 08:55, 02-11-2018 | #8


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Цитата daradan:
rem // у меня вышло для отсеивания 101 и 6»
ну-ну

Цитата daradan:
получаю
set url=~101,-6 »
это потому что line не инициализирована, т.е. curl не отработал

Отправлено: 10:47, 02-11-2018 | #9


Новый участник


Сообщения: 29
Благодарности: 2

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: png 2018-11-02_14-03-48.png
(21.7 Kb, 2 просмотров)

Цитата Busla:
это потому что line не инициализирована, т.е. curl не отработал »
Вроде отрабатывает, для теста сохраняю выданное значение в текстовый файл 2.txt
Код: Выделить весь код
>curl -x http://proxy:port http://www.miui.com/download-340.html | findstr /R download_btn.*miui_HM5Plus_8 > 2.txt
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 23296    0 23296    0     0  19877      0 --:--:--  0:00:01 --:--:-- 19877

>type 2.txt
<a onclick="_gaq.push(['_trackEvent', '完整包', 'download','download']);"   class="
download_btn" href="http://bigota.d.miui.com/8.10.25/miui_HM5Plus_8.10.25_55b500
ece7_7.1.zip"></a>
Получилось так:
Код: Выделить весь код
curl -x http://proxy:port http://www.miui.com/download-340.html | findstr /R download_btn.*miui_HM5Plus_8 > 2.txt
Set /p line=<2.txt
set url=%line:~106,-6%
echo %url%
либо так
Код: Выделить весь код
wget -e use_proxy=yes -e http_proxy=proxy:port -O HM5Plus http://www.miui.com/download-340.html | findstr /R download_btn.*miui_HM5Plus_8 HM5Plus | Set /p line=
set url=%line:~106,-6%
Спасибо большое

Последний раз редактировалось daradan, 02-11-2018 в 15:07.


Отправлено: 11:07, 02-11-2018 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Получение обновляемую ссылку для последующей закачки

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2013 - [решено] Как создать подробную обновляемую информацию о документе в полях экспресс блоков? BolgarchukR Microsoft Office (Word, Excel, Outlook и т.д.) 15 21-04-2017 23:19
Получение данныз из формы в GUI c последующей отправкой в статус-бар. winipox AutoIt 4 27-09-2011 15:37
Программа для закачки обновлений njg Хочу все знать 3 06-02-2011 16:41
Разное - Выдернуть SP3 (для последующей установки) GeniusHakker Microsoft Windows 2000/XP 4 30-08-2008 23:10
Софт для закачки видео с сайтов GI29 Программное обеспечение Windows 3 11-08-2007 15:39




 
Переход