![]() |
Узнать версию Chrome браузера
Добрый день.
1. Узнать какая версия chrome браузера и именно в таком виде - 83, 84, 85 2. Если версия браузера не 83, 84 или 85 то завершить скрипт без действий. 3. Если версия браузера 83 то открыть C:\83.txt, если версия 84 то открыть C:\84.txt, если версия 85 то открыть C:\85.txt. Спс |
Код:
@Echo Off |
Всё можно решить в одну строку.
Код:
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 |
Я не пользуюсь хромом, что выдает?
Код:
chrome --version Код:
> firefox -v | more |
Цитата:
|
Цитата:
Код:
(((Get-Item "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe").VersionInfo).ProductVersion).split('.')[0] |
Цитата:
да, я понимаю что это больше досужий интерес, чем к теме топика, но интересно же. |
Цитата:
Vadikan, версию exe можно и через wmi получить, т.е. решить на bat не уходя в офтопик: Код:
wmic datafile where "name='c:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'" get version |
Давайте по-порядку.
Цитата:
Код:
([version](ls $env:programfiles -r -fi chrome.exe -ea 0).VersionInfo.ProductVersion).Major -match '^8[3-5]$' ? ."C:\$($matches[0]).txt" : 'FU!' Цитата:
Цитата:
Код:
cdb "C:\...\chrome.exe" -c "dx @$curprocess.Modules[0].Contents.Version.VersionInfo.FileVersion;q" Код:
sigcheck -nobanner -n "C:\...\chrome.exe" Код:
strings -nobanner -n 10 "C:\...\chrome.exe" | sed -n "/FileVersion/{n;p}" 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" |
Цитата:
|
Цитата:
Код:
C:\Users\papacoca\Desktop>wmic datafile where "name='c:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'" get version 2. Если версия браузера не 83, 84 или 85 то завершить скрипт без действий. 3. Если версия браузера 83 то открыть C:\83.txt, если версия 84 то открыть C:\84.txt, если версия 85 то открыть C:\85.txt. Спс |
1) Использовать переменные окружения program* и where
2) for или через пайп и конструкцию set /p взять мажорную версию и передать её findstr 3) используя подобие тернарной операции, собрать из полученного значения путь |
|
Время: 01:36. |
Время: 01:36.
© OSzone.net 2001-