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

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

Ответить
Настройки темы
CMD/BAT - Узнать версию Chrome браузера

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


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

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


Добрый день.
1. Узнать какая версия chrome браузера и именно в таком виде - 83, 84, 85
2. Если версия браузера не 83, 84 или 85 то завершить скрипт без действий.
3. Если версия браузера 83 то открыть C:\83.txt, если версия 84 то открыть C:\84.txt, если версия 85 то открыть C:\85.txt. Спс

Отправлено: 18:33, 30-08-2020

 

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
cls
	Set "F83=Z:\Box_In\83.txt"
	Set "F84=Z:\Box_In\84.txt"
	Set "F85=Z:\Box_In\85.txt"

	FOR /F "usebackq skip=2 tokens=3 delims=. " %%i IN (`2^>nul reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Google Chrome" /V DisplayVersion`) DO Set "Vrs=%%i"

	Echo Google Chrome DisplayVersion=%Vrs%
	If "%Vrs%"=="83" Start " " notepad "%F83%"
	If "%Vrs%"=="84" Start " " notepad "%F84%"
	If "%Vrs%"=="85" Start " " notepad "%F85%"
Pause
Exit /B

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 19:39, 30-08-2020 | #2



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

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


Забанен


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

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


Всё можно решить в одну строку.
Код: Выделить весь код
curl -s https://2ip.ru | sed -nr "s/.*chrome ([0-9]{2}).*/\1/Ip" | findstr /rc:"8[3-5]" | sed -r "s/(.*)/C:\\\1.txt/" | cmd>nul
Сперва curl'ом запрашиваем страницу 2ip.ru, оттуда забираем мажорную версию Chrome, которую в свою очередь передаём далее по конвейеру findstr, чтобы удостовериться в корректности версии (c 83 по 85), и если совпадение есть будет открыт соответствующий файл; в противном случае ничего не произойдёт.

Отправлено: 22:28, 30-08-2020 | #3


Ветеран


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

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


Я не пользуюсь хромом, что выдает?
Код: Выделить весь код
chrome --version
В огнелисе, для примера, под виндоус работает с пайпом, под линукс без него:
Код: Выделить весь код
> firefox -v | more
Mozilla Firefox 80.0

Отправлено: 00:17, 31-08-2020 | #4


Ветеран


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

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


Цитата Foreigner:
что выдает?
Код: Выделить весь код
chrome --version
»
У меня — ничего. Открывается Google Chrome. И «-product-version» аналогично. Это ж не Chromium.

Отправлено: 04:45, 31-08-2020 | #5


(*.*)


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

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


Цитата greg zakharov:
Всё можно решить в одну строку. »
А если нет интернета или сайт недоступен? Мой вариант
Код: Выделить весь код
(((Get-Item "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe").VersionInfo).ProductVersion).split('.')[0]
А дальше как угодно, хоть if else

-------
Канал Windows 11, etc | Чат @winsiders

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

Отправлено: 09:57, 31-08-2020 | #6


Аватара для Elven

Ветеран


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

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


Цитата Iska:
Это ж не Chromium. »
Не думаю что дело в том что это хромиум/хром. Запускалось через win+r или из cmd? Опять же нет винды под рукой. но под линухом успешно возвращается версия и с хромиума и с хрома.
да, я понимаю что это больше досужий интерес, чем к теме топика, но интересно же.

Отправлено: 10:02, 31-08-2020 | #7


Ветеран


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

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


Цитата greg zakharov:
curl'ом запрашиваем страницу 2ip.ru, оттуда забираем мажорную версию Chrome »
очевидно же, что curl не отдаст в заголовке запроса версию установленного браузера, а 2ip.ru соответственно, его не прочитает и не вернёт

Vadikan, версию exe можно и через wmi получить, т.е. решить на bat не уходя в офтопик:
Код: Выделить весь код
wmic datafile where "name='c:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'" get version
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:19, 31-08-2020 | #8


Забанен


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

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


Давайте по-порядку.
Цитата Vadikan:
А если нет интернета или сайт недоступен?
Ключевое - если, а оно, как известно, из области вероятности. Вероятностных соотношений, к слову, в данном случае более двух (точных данных нет, так что имеем уравнение с параметрами). Конечно интернета может и не быть (что-то у провайдера, сетевой шторм на каком-либо коммутационном узле или просто какаой-либо из пакетов отбрасывается из-за невалидной контрольной суммы), однако снова - какова вероятность того? Ни вы, ни кто-либо иной не знает. Что до вашего ответа "а дальше как угодно", - это непрофессионально.
Код: Выделить весь код
([version](ls $env:programfiles -r -fi chrome.exe -ea 0).VersionInfo.ProductVersion).Major -match '^8[3-5]$' ? ."C:\$($matches[0]).txt" : 'FU!'
Но! Так как речь всё же о командных сценариях, то ваш вариант (ровно как и пример выше) перенаправляются в /dev/null, сколь не ущемлено было бы ваше самолюбие (и шарфик).

Цитата Busla:
очевидно же, что curl не отдаст в заголовке запроса версию установленного браузера
Очевидно, что кто-то попросту не врубается что данные не берутся из заголовков запросов. Версия берётся из "голого" HTML, отдаваемого 2ip.ru (к слову у них есть REST API, но нужно регистрироваться, а делать этого не хочется).
Цитата Busla:
версию exe можно и через wmi получить
Версию можно дёрнуть чем угодно. Хоть отладчиком.
Код: Выделить весь код
cdb "C:\...\chrome.exe" -c "dx @$curprocess.Modules[0].Contents.Version.VersionInfo.FileVersion;q"
Хоть sigcheck.
Код: Выделить весь код
sigcheck -nobanner -n "C:\...\chrome.exe"
Хоть strings.
Код: Выделить весь код
strings -nobanner -n 10 "C:\...\chrome.exe" | sed -n "/FileVersion/{n;p}"
Однако, все эти способы (а также способы с PowerShell и wmic) упираются в наличие секции .rscr самого PE'шника. Если следовать теории "если" (зачинщик строчит телеграммы), то:
1) такой секции может и не быть
2) при сборке секция была объединена (сплайсинг) с какой-либо иной секцией
3) секция может быть, но данных о версии в ней нет
4) секция имеет альтернативное имя
5) вместо секции ресурсов используется DOS заглушка или легаси поля IMAGE_DOS_HEADER
Есть и прочие варианты, но не суть. Здесь упор именно на наличие секции ресурсов.

Вообще, развивая теорию "если" можно дойти до абсурда, в том числе признать поиск значений в реестре неправильными, а идентификацию браузера по User-Agent'у недостоверной в виду возможности его подмены (хотя на деле получить "вшитый" User-Agent не так уж и сложно даже при выключенном JavaScript).

К слову, забыл упомянуть, что после синхронизации curl с браузером по умолчанию, в _curlrc "оседает" дефолтный User-Agent, иначе говоря, проверка версии без инета будет такой:
Код: Выделить весь код
curl -s "file:///%curl_home%\_curlrc" | sed -nr "s/.*chrome\/([0-9]{2}).*/\1/Ip"

Последний раз редактировалось greg zakharov, 31-08-2020 в 19:21.


Отправлено: 17:01, 31-08-2020 | #9


Ветеран


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

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


Цитата Elven:
Запускалось через win+r или из cmd? »
Из-под Far Manager'а .

Отправлено: 20:22, 31-08-2020 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Google представила финальную версию 64-разрядного браузера Chrome 37 OSZone News Новости информационных технологий 0 27-08-2014 10:30
Google заблокировала не относящиеся к Chrome Web Store расширения браузера Chrome OSZone News Новости информационных технологий 0 28-05-2014 20:30
Mozilla представила бета-версию браузера Firefox для Windows 8/8.1 OSZone News Новости информационных технологий 0 07-02-2014 11:30
Google убирает два расширения браузера Chrome из Chrome Web Store OSZone News Новости информационных технологий 0 20-01-2014 15:30
Mozilla выпустила очередную версию браузера: встречаем Firefox 15 OSZone News Новости информационных технологий 4 29-08-2012 23:10




 
Переход