![]() |
Найти значение в выводе curl и установить как переменную
Есть скрипт для скачивания последнего релиза с github
Код:
@ECHO OFF Как это сделать попроще? |
Что-то типа такого:
Код:
@ECHO OFF |
Код:
curl -ks https://api.github.com/repos/mhogomchungu/sirikali/releases/latest | yq -o=json ".assets[].browser_download_url|select(. == \"*Qt6*.exe\")" |
Код:
FOR /F "delims=" %%a IN ('powershell -c "(curl.exe -ks https://api.github.com/repos/mhogomchungu/sirikali/releases/latest |ConvertFrom-Json).assets.browser_download_url -match 'qt6.*exe$'"') DO @set "var=%%a" |
DJ Mogarych, есть ли смысл в curl при использовании powershell? Лучше, пожалуй, так:
Код:
((iwr https://api.github.com/repos/mhogomchungu/sirikali/releases/latest).Content | convertfrom-json).assets.browser_download_url -match 'qt6.*exe$' |
Автору потребен cmd/bat. Понятно, что лично я бы такое не использовал.
А curl.exe входит в стандартную поставку Windows уже лет 10. |
DJ Mogarych, да будь даже curl не штатным, речь то в конечном итоге о powershell. И да, странно, что даже спустя ~19 лет после выхода первой версии powershell, люди напирают на cmd\bat, ограниченные кодировками и прочими условностями, в том числе выводом значения выражения в переменную. Тот же Tcl умел писать в переменную на заре MS-DOS. Что сейчас не так?
|
Я раньше пытался убеждать кого-то, а потом перестал. Нравится людям - на здоровье.
А curl.exe порой бывает удобнее, чем iwr. |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
И Гуголь не нужен... |
Цитата:
Лет так десять назад, встретил PS, тоже стало интересно, попробовал какой-то простейший пример, а шиш тебе, какие-то ошибки, начинаешь разбираться, гугл подсказывает, что вот так и так нужно сделать, чтобы исправить, исправил, пробую, опять хрен там. Потом пробуешь ещё чего-то найти, опять пробуешь, опять чёт исправляешь, реестры, шмеестры и опять те же яйца. Как думаешь, какая первая мысль? Правильно, да ну его на ... этот PS. Проходит несколько лет, попался нужный скрипт и он только для PS. Гуглишь. О! Новая версия на гитхабе. Ну думаю, сто процентов пофиксили уже всё что нужно. Пробуешь, той ошибки нет, но есть другая, третья пятая десятая. И ты понимаешь, а на фиг мне тратить месяцы на изучение PS, если есть намного проще, дефолтнее и т.д., и т.п.? Если бы я этим зарабатывал или по работе нужно было, другой вопрос. А для домашнего так сказать юзера, если изначально на простейшем, в дефолте вылетают ошибки, то уверен, что это не стоит потраченного времени. ПС. Вот когда-то заинтересовал AutoIt, всё, что делал там, всё чётко работает без нареканий, если и возникают ошибки, то когда исправляешь, всё так же чётко работает. И никакого геммора. M$ любую мотивацию может превратить в депрессию :) |
Mancoffee, лучше с книжек начинать. Дело не в Микрософте, а в том, что учиться на случайных кривых примерах в интернете неэффективно.
Я по этому осваивал: 1. https://learn.microsoft.com/ru-ru/sh...ft-powershell/ 2. Learn Windows Powershell in a month of lunches (3rd edition) 3. PowerShell in Depth Правда, это всё на английском, но это не художественная литература и язык там довольно простой. |
Mancoffee, Ваш рассказ звучит примерно так:
"я всегда копал весь свой огород в 1 Га лопатой и всё всегда было чики-пики, вскопал, прошелся граблями и пошел отдыхать, а тут попался мотокультиватор - овно полное... то в землю закопается, то завести - целая проблема, то бензу надо, то масло, то ещё какая-нибудь напасть... не, что ни говори, лопата - вещь самая распространенная и супернадежная! " Только не обижайтесь, как-то примерно так выглядит Ваше эссе сравнения. :) |
Цитата:
Я как не любил его за эти всякие ошибки, так и до сих пор эта не любовь продолжается. И дело не в примерах (это я образно), а наверное в том, что всякие M$ безопасности по дефолту обрезают возможности и чтобы их включить нужно много читать. И тут дело не в лени или мотивации, а во времени, которого уже нет столько, чтобы это того стоило. Цитата:
Короче демагогией не буду заниматься, скажу коротко - в дефолте bat ВСЕГДА И ВЕЗДЕ, PS - в дефолте НЕ всегда и НЕ везде. За счёт этой непредсказуемости я его и не люблю и любить не буду. И в твоё сравнение ещё добавлю - когда я например обращаюсь на форум по ошибке PS, то мне ещё не разу никто не помог до состояния работоспособности. Это говорит, как по мне, лишь об одном - потому что решений может быть тысяча и одна или никто не знает 100%-го решения, почему она возникает. Поэтому сравнение такое себе. |
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Короч ладно, такое, можно долго эту тему развивать, а смысла большого нет. |
Цитата:
1. Есть много денег, нет желания заморачиваться - проще нанять специалиста и все вопросы будут решены. Проверить иногда подробности будет сложно, но внешняя сторона вопроса, точно будет решена. 2. Нет денег или их не очень много (лишних), но есть желание научиться - необходимо изучать литературу по предмету изучения, возможно курсы, какие-либо пройти... в общем, заняться самообразованием. Иногда может понадобиться помощь спецов, чтобы задавать им интересующие вопросы (не всегда может помощь оказаться бесплатной, но можно найти тех, кто поможет просто так). 3. Нет денег, нет желания учиться, нет ничего, кроме желания получить решение вопроса - ну, не знаю, многое зависит от настроения, желания и многих других факторов, кто захотел бы помогать в подобных ситуациях. Но тоже, решение вопроса, вполне возможно - хотя чаще всего, будет стремиться к нулю... :idontnow: Цитата:
Цитата:
|
1.и 2. Ну так в вот. Всё дело во времени и потребности.
3. Желание есть, но вот скажи, какой мне смысл тратить годы на изучение, чтобы что? Написать пару тех скриптов, которые нужны были? Дичь. Верно? Если даже понимаешь перспективу, что это в дальнейшем поможет чему-то там, что не влияет на твою жизнь по сути. Маразм. Понятно, что с учётом того, что уже не тот возраст, в котором можно потратить много времени на интерес. Цитата:
Вот на вскидку в истории команд Код:
PS C:\Users\User> Get-WmiObject -Class Win32_Service -Filter "Name='TotalCMD'" И вот это вот cmdlet самая такая, которая встречается в ~80% случаев. И решения слишком разные, слишком невнятные и поэтому ... Цитата:
|
Цитата:
Цитата:
Цитата:
Get-WmiObject Командлет был удален, а чем пользоваться вместо него - написано в документации. Живой язык на месте не стоит, он развивается и видоизменяется - в этом нет ничего удивительного. А мертвый - ну, о мертвых, либо хорошо, либо ничего. Цитата:
|
Цитата:
Цитата:
И какой смысл для простого юзера мне в такие дебри лезть, когда учил "с детства" bat, который ближе, более знакомый, у тебя в голове больше информации о нём, там ничего не меняется. Ради чего? Когда-то было время и желание и т.д. Я следил за новостями, потому что нужно было и интересно. И я знаю, что это такое и сколько это занимает времени. Но если тогда я на этом деньги зарабатывал, то сейчас нет. И сегодня моё время НЕ РАВНО потраченному времени на изучение "живого языка", чтобы что? Написать один скрипт, который можно написать на более знакомом языке и соответственно потратить в разы меньше времени. Цитата:
Цитата:
Поэтому всегда обращаясь на форумы я предполагаю, что есть такие же люди, но с другим уровнем знаний или просто со знаниями других языков и т.д. Если не ошибаюсь, то форумы для того и существуют, чтобы помогать, а не обучать (точнее это тоже, но когда человек сам этого хочет). |
Цитата:
Не надо следить, даже более того, не обязательно всем-всем-всем голову забивать... достаточно научиться базовым вещам, а потом использовать документацию, особенно в тех случаях, которые вызывают исключение. Цитата:
Только вот, если говорить о времени, про которое Вы постоянно толкуете, в большинстве случаев - лучше не сравнивать. Не в пользу лопаты оно будет... Цитата:
Если для решения Вашего вопроса, Вы пытаетесь сэкономить свое время, не желая "тратить его впустую на изучение инструмента", то почему Вы ждете, что другие люди, будут тратить уже свое время, на решение Вашего вопроса? Об этом задумайтесь. Цитата:
Т.е. не для получения и сортировки заявок на "сделайте мне красиво, а то я не хочу тратить время и напрягать мозги", понимаете разницу? Большинство форумов - это не техподдержка коммерческих компаний (да и у них, Вы не получите пожизненное бесплатное обслуживание, придется таки платить периодически), а место для общения, где более опытные могут дать совет новичкам. Но надо учитывать, что советы не всегда дают тем, кто хочет не научиться, а просто хочет, чтобы за него всё сделали. В этом проблема... ЗЫ В общем, я ни в чем не хочу Вас убеждать или переубеждать - найдете себе помощь - хорошо, не найдёте - придется научиться или забить на проблему, которую попытались решить за счёт чужого времени. Как-то так, примерно. :) |
Цитата:
Но такого не будет с топ форумами и знаешь почему? Правильно! Потому что из топов они быстро превратятся в "дауны". Цитата:
Да, я хочу сэкономить время, потому что на полное понимание условно я потрачу полгода. При этом человек, который уже знает ответ, у него на помощь уйдёт условно 5 минут. И это по опыту и логике именно так. Личный пример - есть много друзей знакомых и т.д. Друг меня просит настроить ПК, я прихожу и говорю, не дружище, или ты учишься, или платишь баблишко. Иначе никак. То бишь, человек работает например станочником на заводе, точит валы всякие. С самой юности учился на это и всю жизнь им работает. Приходит домой, включает ПК, а там BSOD с кучей "каракулей". Он такой "О! У меня есть Серёга, сча позвоню, он порешает", а я такой прихожу "Неее Андрюха, садись, читай, гугли, учись или давай денег, тогда помогу". Представляешь, какая пятая точка у него в голове в этот момент? Это тоже самое, что тебя поставить перед выбором - или учи квантовую физику, чтобы понимать процессы вселенной или давай денег, а я тебе в определённом вопросе расскажу как оно чего. При этом я глянул на ошибку, сходу понял "Ясно, драйвер корявый программулька поставила или после удаления не удалила свой sys.". Всё, вопрос решён, попили кофейку, поговорили о жизни, все довольны. Он вообще как маленький радуется, потому что сидел неделю, голову ломал. Цитата:
Цитата:
Из 100% примерно 80-90 мне помогают бесплатно. Понятно, что помогают только потому (наверное), что я не прошу сделать мне супермега проект. Та и если такое нужно было, то уже понятно, что сам бы учился. А так например человек помог, я посмотрел на скрипт и хоть что-то, но понял. Так учиться можно, когда ты не собрался зарабатывать на этом или грызть многотомники по программированию. Цитата:
|
Цитата:
Просто пример, именно данный топик. Вот, это, например: Цитата:
Но если приходит чел, говорит: "у меня проблема, её хочется решить, но ни времени, ни желания разбираться в способах решения нет - помогите". В этом случае, помощь не всегда, а скорее всего, очень редко осуществится. Но другое непонятно: 1. Если говорят, что есть способ, делать всё проще и понятнее для вопрошающего, надо только разобраться в инструменте - а он в ответ: не, это нафик не надо, я лучше по-старинке, тем что умею и не хочу делать лучше и разбираться в новинках. Ну, как-то, мягко говоря, консервативно это. 2. Хорошо, если проблема не очень большая и возможностей cmd хватает - а если нет? Цитата:
Цитата:
У человека есть рабочий трактор, но водить он его не умеет и он приходит с просьбой: " а помоги-ка мне поле вспахать", у меня нет времени и желания учиться водить этот трактор, никогда не испытывал желания. Получит он помощь? :) Или по-другому, если уж трактор поломанный: Помоги починить, но у меня нет ни инструмента, ни запчастей... но есть вот кувалда и ножовка, помоги, пожалуйста. Помогут? Ну, может попытаются... добить его до состояния хлама, только если. :) Цитата:
ЗЫ Ну, да ладно... похоже, я уже перешел на уговоры и переубеждения, а ведь не хотел... Но раз уж накропал, пусть будет. А так, каждый сам решит, что ему ближе - то ли по форумам в поисках помощи тыкаться, то ли сделать собственными руками и именно так, как хотелось, а не так, как хочется помогающему :) |
Цитата:
Цитата:
Цитата:
Не поверишь, но помогаю и с радостью. И тут по ситуации, если человек от "сердца" отрывает копейку, то либо не беру, либо беру минимум из тех купюр, если этот сосед начинает упорно настаивать, чтобы я взял. И тут дело не в безоплатности, как таковой, а в отношении Цитата:
Цитата:
Цитата:
Время, просто время. Если бы это разбирательство в будущем сократило мне время в ~5 раз. Например запрограммировать тот же трактор на обработку своей площади, возможно и да. Ну а так смысл нулевой. Цитата:
Переубедить меня нельзя :) В целом я, как уже очень давно понял приходим к тому, что разные мировоззрения дают соответственно разное мышление и соответственно подход к тем или иным вопросам/задачам и т.д. Цитата:
Аж жутко стало от его потенциала. Что интересно, завёл с ним беседу по поводу управления миром и нехороших для него вещей и вообще, что он по сути зло. Начал отнекиваться и в тупую съезжать с темы :) Прям просматривается скайнэт :) |
Интересная у вас дискуссия)
Да, задачу сначала пробую решить батником, даже сложную. И если уж совсем невмоготу - берусь за пошик. Кто-то даже советует питоном латать. Но в свое время реально дошел до "маразма": Если не хватало функциональности bat/cmd, то на готове, под парами стоял Delphi и нужный консольный экзешник, работающий с пайпом, errorlevel или еще с чемто, рождался за 10-120 мин... Поитогу за годы работы накопился целый собственный "Resource Kit" (помните такие штатные были наборы у МS?)) который такскаю с собой.. |
Цитата:
|
Встроенный несколько урезан по функциональности. Вот curl.exe из Windows 11:
Код:
curl.exe -V |
Цитата:
Цитата:
|
Цитата:
Ответ: Привет! Давай упростим твой скрипт для скачивания последнего релиза с GitHub, чтобы он мог динамически подставлять tag_name или name из ответа API. Мы можем использовать переменные для формирования нужного имени файла. Вот как это можно сделать: Код:
@ECHO OFF Получение tag_name: Мы добавили команду для извлечения tag_name из ответа API. Это позволяет использовать его в дальнейшем. Проверка на начало и конец: Мы проверяем, содержит ли URL нужные префиксы и суффиксы, чтобы убедиться, что загружаем только нужные файлы. Теперь скрипт будет автоматически подставлять tag_name и загружать файлы, соответствующие заданным критериям. |
Время: 00:31. |
Время: 00:31.
© OSzone.net 2001-