batch скрипт който намира инсталационната папака на JAVA под Windows
В моя случай исках автоматично да си patch-на жабата ,за да се оправя с ей тоя бъг:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6578658
Може да потрябва и при други случаи - примерно инсталация на ant.
Понеже съм голям batch script нинджа си направих ей това:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@ECHO OFF
:: java.home.bat for Windows NT >4
:: Find where java is java installed reading regostry.
:: This version uses native NT 4 commands only.
:: Based on Rob van der Woude script
:: http://www.robvanderwoude.com
:: Export java settings from registry to a temporary file
START /W REGEDIT /E %Temp%.\java.reg "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft"
:: Read several lines from the temporary files
:: and store these settings as environment variables
:: Find java location
FOR /F "tokens=1* delims==" %%A IN ('TYPE %Temp%.\java.reg ^| FIND "INSTALLDIR"') DO SET JAVA_HOME=%%B
SET JAVA_HOME=%JAVA_HOME:"=%
SET JAVA_HOME=%JAVA_HOME:\\=\%
SET JAVA_HOME
:: Get java version
FOR /F "tokens=1* delims==" %%A IN ('TYPE %Temp%.\java.reg ^| FIND "CurrentVersion"') DO SET JAVA_VERSION=%%B
SET JAVA_VERSION=%JAVA_VERSION:"=%
SET JAVA_VERSION
SET JAVA_VERSION=%JAVA_VERSION:.=%
SET JAVA_VERSION=%JAVA_VERSION:_=%
SET /A JAVA_VERSION=JAVA_VERSION
:: Delete temp file
@DEL %Temp%.\java.reg /S /Q > NUL 2>&1
:: Check java version compatibility
IF %JAVA_VERSION% LSS 16020 (
ECHO.
ECHO YOU NEED AT LEAST JAVA WITH VERSION 1.6.0_20
GOTO :EOF
)
PAUSE
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
За основа ползвах ей това:
http://www.robvanderwoude.com/files/country3_nt.txt
Като тук си ползвам “HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft” където се съхранява информацията за жабата.

