Привет Мне нужен пакетный сценарий, чтобы проверить, является ли Java дома доступна в системе и сценарии для сравнения Java версиюПакетный скрипт для проверки дома Java и сравнить Java версию
Мои требования
1.) Сценарий должен проверить, установлен ли java home в системе. Я думаю, что это будет «echo% JAVA_HOME%». Но если Java Home недоступен, ему нужно отобразить сообщение, показывающее, что «Java-дом недоступен. java home в компьютере> Свойства> Путь переменных.
2.) Он должен проверить версию java в системе, и если java vesion выше 1.6_445, ему необходимо выполнить diplay в сообщении о том, что «версия Java выше, инструмент MR не сможет установить. (I подумайте, для этого нужно создать массив и сохранить значения версии Java, и ему нужно сравнить значения. Но я не знаю, как написать для него код). Поскольку версия java содержит подчеркивание, сравнение будет непростой задачей. думаю.
в настоящее время я использую ниже скрипт, но это вовсе не удовлетворяющее мой requirements.Can любые один, пожалуйста, помогите мне сделать скрипт на удовлетворение выше requirements.Thanks заранее
эхо от SETLOCAL enableextensions disabledelayedexpansion
:: possible locations under HKLM\SOFTWARE of JavaSoft registry data
set "javaNativeVersion="
set "java32ON64=Wow6432Node\"
:: for variables
:: %%k = HKLM\SOFTWARE subkeys where to search for JavaSoft key
:: %%j = full path of "Java Runtime Environment" key under %%k
:: %%v = current java version
:: %%e = path to java
set "javaDir="
set "javaVersion="
for %%k in ("%javaNativeVersion%" "%java32ON64%") do if not defined javaDir (
for %%j in (
"HKLM\SOFTWARE\%%~kJavaSoft\Java Runtime Environment"
) do for /f "tokens=3" %%v in (
'reg query "%%~j" /v "CurrentVersion" 2^>nul ^| find /i "CurrentVersion"'
) do for /f "tokens=2,*" %%d in (
'reg query "%%~j\%%v" /v "JavaHome" 2^>nul ^| find /i "JavaHome"'
) do (set "javaDir=%%~e" & set "javaVersion=%%v")
)
if not defined javaDir (
echo Java not found
) else (
echo JAVA_HOME="%javaDir%"
echo JAVA_VERSION="%javaVersion%"
)
endlocal
pause
Set PAUSE в конце – npocmaka
добавил, но не работает – Chanthu
@ user3400717 у вас есть 'SETX' в качестве команды на вашей системе? (просто введите setx в командной строке) – npocmaka