如何获取java版本,并希望从批处理文件中获取java版本的“6”。我试过下面的脚本,但不起作用。
    REM check java exists using JAVA_HOME system variable
if "%JAVA_HOME%" == "" (
ECHO Installing java
start /w jdk.exe /s
SETX -m JAVA_HOME "C:\Program Files\Java\jdk1.6.0_31"
ECHO java installed successfully
) ELSE (
ECHO checking java version
goto check_java_version
)
REM check java version using JAVA_HOME system variable
:check_java_version
set PATH=%PATH%;%JAVA_HOME%\bin
for /f tokens^=2-5^ delims^=.-_^" %%j in ('%JAVA_HOME%/bin/java -version 2^>^&1') do set "jver=%%j%%k%%l%%m"
echo %jver%JAVA_HOME具有"C:\Program Files\Java\jdk1.6.0_31“值。
发布于 2013-07-18 12:45:33
for /f tokens^=2-5^ delims^=.-_^" %j in ('java -fullversion 2^>^&1') do @set "jver=%j%k%l%m"这会将java版本存储到jver变量中,并作为整数存储,您可以将其用于比较.E.G
if %jver% LSS 16000 echo not supported version通过删除%k和%l以及%m.This命令提示符版本,.You可以使用更多主版本。
适用于.bat的使用以下代码:
@echo off
PATH %PATH%;%JAVA_HOME%\bin\
for /f tokens^=2-5^ delims^=.-_^" %%j in ('java -fullversion 2^>^&1') do set "jver=%%j%%k%%l%%m"根据我的测试,这是从bat获取java版本的最快方法(因为它只使用内部命令,而不使用外部命令,如FIND、FINDSTR,并且不使用GOTO,这也会降低脚本运行速度)。一些JDK供应商不支持Oracle,或者他们的实现与-fullversion提供的实现不同(最好避免使用它们)。
发布于 2016-08-18 17:13:34
这将是粗暴的笨蛋,但为什么不直接打印JAVA_HOME路径?
发布于 2013-07-18 12:46:35
如果已经设置了环境路径,则应为java -version //
或%JAVA_HOME%/bin/java -version //(如果尚未设置路径
https://stackoverflow.com/questions/17714681
复制相似问题