Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
 Аватар для KarandaIII
0 / 0 / 0
Регистрация: 03.02.2010
Сообщений: 72
Записей в блоге: 2

Определение версии Java и версии браузера

08.12.2016, 03:02. Показов 3586. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Поступила интересная задача.

Есть необходимость получать, оперативно, от клиента информацию о его версии Java и версии браузера, на практике это занимает минут 15-20 (да бывает и такое). Подскажите как эту задачу можно решить, силами пакетного файла.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.12.2016, 03:02
Ответы с готовыми решениями:

Обсуждение кода "Определение версии установленной Java"
Собственно, код: https://www.cyberforum.ru/cmd-bat/thread671391-page7.html#post5597872 Может было бы лучше брать пути из реестра?...

Определение версии ОС и браузера
Здравствуйте! Подскажите, пожалуйста, необходимо определить версию ОС и браузера с которого пользователь входит в личный кабинет. Как мне...

Определение браузера и его версии
Как можно определить с какого браузера просматривает страницу пользователь?

7
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
08.12.2016, 18:28
Windows Batch file
1
2
3
4
@echo off
set "p_inet=%Programfiles%\Internet Explorer\iexplore.exe"
powershell "(gi '%p_inet%').versionInfo.fileversion"
pause
так же и ява.
1
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
08.12.2016, 19:32
Цитата Сообщение от alpap
так же и ява
Начнем с того, что с Java дружит не только "ишачок", да и в системе по умолчанию может быть установлен альтернативный браузер; в этом случае нужно не шариться по файловой системе, а узнавать UserAgent и устанавливать факт был ли последний изменен пользователем, - на JavaScript это решается довольно просто, но это требует некоторых манипуляций с самим браузером. Если же отталкиваться от простого предположения, что обозначенная автором темы трабла как-то связана с банкингом, то да, там по большей части "ишачок".
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
08.12.2016, 21:14
Если можно не только батником, мы определяем программой Security Check by glax24
Лог сохраняется в %SystemDrive%\SecurityCheck\SecurityChec k.txt
1
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
08.12.2016, 21:58
Dragokas, ну а ежели батником?! В сущности определить дефолтный браузер и его версию несложно, ибо в переводе на командный язык это будет выглядеть примерно так:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off
  setlocal enabledelayedexpansion
    set "key=HKCR\http\shell\open\command"
    for /f "tokens=2,*" %%i in (
      'reg query %key% /ve ^| findstr /irc:"reg_sz"'
    ) do set "cmd=%%j"&set "cmd=!cmd:%%1=!"
    set "cmd=%cmd:"=%"   % rem : удаляем кавычки
    set "cmd=%cmd:~,-1%" % rem : удаляем '\0' символ
    echo:Default browser path : %cmd%
    for %%i in ("%cmd%") do set "rex=%%~ni"
    set "key=HKLM\SOFTWARE\Microsoft\Windows"
    set "key=%key%\CurrentVersion\Uninstall"
    for /f "delims=" %%i in (
      'reg query %key% ^| findstr /irc:"!rex!"'
    ) do (
      for /f "tokens=2,*" %%j in (
        'reg query "%%i" /v DisplayVersion^
         ^| findstr /irc:"reg_sz"'
      ) do set "ver=%%k"
    )
    echo:Default browser ver. : %ver%
  endlocal
exit /b
По аналогии можно узнать установлена ли "жаба", и дыр и пыр.
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
08.12.2016, 22:20
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
@echo off
setlocal enabledelayedexpansion
:: Получаем версию браузера по умолчанию
:: первый вариант - ftype читает из HKLM, поэтому дает не совсем достоверную информацию - бразуер уже может быть переназначен
echo "--------------------"
for /f "tokens=2 delims==-" %%i in ('ftype http') do (
  set x=%%i
  set x=!x:~1,-2!
  set x=!x:\=\\!
)
 
call :get_version "%x%"
echo HKLM:%x%: %ver%
:: Получаем версию браузера по умолчанию
::второй вариант - читаем из HKCU - здесь должен быть записан последний браузер, который пользователь назначил дефолтным
set ver=
for /f "skip=2 tokens=2 delims=REG_SZ-" %%i in ('reg query HKEY_CURRENT_USER\Software\Classes\http\shell\open\command') do (
  set x=%%i
  set x=!x:~5,-2!
  set x=!x:\=\\! 
)
 
call :get_version "%x%"
echo HKCU:%x%: !ver!
echo Версии Java: JRE\JDK
echo "--------------------"
:: узнаем локацию java
for /f "tokens=* delims=" %%i  in ('where /R "%programfiles%\java" java.exe') do (
  set "java=!java!"%%i" "
)
set java=!java:\=\\!
:: версии java
for  %%i in (%java%) do (
  set ver=
  rem спрашиваем версию у java через опцию -version 
  rem а также читаем ее из атрибутов файла
  %%i -version &call :get_version %%i
  echo.%%~i: !ver!
  echo "--------------------"
  
)
 
pause&exit/b
 
:get_version
for /f "skip=1 usebackq" %%i in (`wmic path CIM_Datafile where name^='%~1' get version`) do (
  set ver=!ver!%%i
)
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
08.12.2016, 22:25
greg zakharov, не спорю, можно.

Но есть очень много тонкостей, каторые даже перечислять лень, а реализовать и протестировать на разных конфигурациях будет занятием не для слабонервных.
Как минимум,
- по какому признаку считать браузер дефолтовым? (нужен ли ТС дефолтовый или все, что установлены на ПК?)
Например, с Egde всё вообще интересней, если ты в windows 10 зайдешь в ПУСК -> Настройки -> система -> приложения по умолчанию, выберишь в качестве браузера - Edge (до этого например, стоял IE). Потом зайдешь и проверишь, что в HKCR\http\shell\open\command всё ещё остался путь к iexplorer.exe, потом вобъешь в командную строку start "" "http://...", то запустится именно Edge.

- некоторые браузеры хранят инфу о версии только под HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninst all\... тот же firefox, некоторые и под HKCU (особо "умные" установщики версию могут вообще не написать).
Есть ещё предустановленные, как IE и Edge. Веток CurrentVersion\Uninstall у них вообще нет.
Я например, в своей программе определяю их версии через
sWinDir & "\SystemApps\Microsoft.MicrosoftEdge_8we kyb3d8bbwe\MicrosoftEdge.exe
HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersi on\App Paths\IEXPLORE.EXE
HKEY_LOCAL_MACHINE, "Software\Microsoft\Internet Explorer", "svcVersion
HKEY_LOCAL_MACHINE, "Software\Microsoft\Internet Explorer", "Version
1
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
09.12.2016, 10:05
Dragokas, дефолтным считается браузер, которому сопоставлены соответсвующие ассоциации в реестре, однако в виду портабельности большинства современных браузеров это довольно условное определение в принципе, ибо тот же Edge можно "отучить" от реестра. Именно по этой причине, в предыдущем посте написал - "примерно так". Оное то и значит, что задача имеет лишь примерное решение, а потому на его уникальность закладываться невозможно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.12.2016, 10:05
Помогаю со студенческими работами здесь

Определение версии браузера через php
Всем доброго времени суток! Нужна помощь. Я хочу сделать проверку версии браузера, но не могу сделать этого, нужна Ваша помощь... ...

Как для web-версии и мобильной версии поставить разные картинки
Всем добрый вечер! Кто знает, подскажите: мне необходимо для вебверсии и мобильной версии поставить разные картинки.

OcStore версии 3.2 Что будет если поставить модуль со старой версии
Всем привет столкнулся с проблемой. Делаю магазин на OCStore 3.0.2 и теперь не могу найти модуль партнерской программы есть только на...

На какой версии(максим. доступной) можно запустить проект написанный на версии 6?
Здравствуйте. Есть проект написанный с помощью C++ Builder 6. Требуется поддержка Unicode. Какая версия Builder может помочь в решении...

Как запустить локальную ms sql server 2016 версии на 2012 версии
Как запустить локальную ms sql server 2016 версии на 2012 версии Я в этом деле впервой, гуглил, но так и не смог сделать, может кто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru