从批处理文件中获取 java 版本 [英] Get java version from batch file

查看:35
本文介绍了从批处理文件中获取 java 版本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何获取 java 版本并希望从批处理文件中获取 java 版本中的6".我尝试了下面的脚本,但没有成功.

How to get java version and want to get '6' out of java version from batch file. I tried below script, but it didn't work.

    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 FilesJavajdk1.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%in
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 FilesJavajdk1.6.0_31"值.

JAVA_HOME has "C:Program FilesJavajdk1.6.0_31" value.

推荐答案

for /f tokens^=2-5^ delims^=.-_^" %j in ('java -fullversion 2^>^&1') do @set "jver=%j%k%l%m"

这会将 java 版本存储到 jver 变量中并作为整数你可以用它来比较.E.G

This will store the java version into jver variable and as integer And you can use it for comparisons .E.G

if %jver% LSS 16000 echo not supported version

.您可以通过删除 %k 和 %l 和 %m 来使用更多主要版本.此命令提示符版本.

.You can use more major version by removing %k and %l and %m.This command prompt version.

对于 .bat 使用这个:

@echo off
PATH %PATH%;%JAVA_HOME%in
for /f tokens^=2-5^ delims^=.-_^" %%j in ('java -fullversion 2^>^&1') do set "jver=%%j%%k%%l%%m"

根据我的测试,这是从 bat 获取 java 版本的最快方法(因为它仅使用内部命令而不是外部命令,如 FINDFINDSTR 并且确实不要使用 GOTO 这也会减慢脚本).一些 JDK 厂商不支持 -fullversion 开关,或者他们的实现与 Oracle 提供的不一样(最好避免使用它们).

According to my tests this is the fastest way to get the java version from bat (as it uses only internal commands and not external ones as FIND,FINDSTR and does not use GOTO which also can slow the script). Some JDK vendors does not support -fullversion switch or their implementation is not the same as this one provided by Oracle (better avoid them).

这篇关于从批处理文件中获取 java 版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆