我需要从下面的1.6.0_26输出中获取java版本的java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)请帮我弄到1.6.0_26
注意:我不需要电源外壳或任何外部程序
更新
我想出了java -version 2>&1 | findstr /i "version",它给了我以下的输出
java version "1.6.0_22"现在,即使是一种模式匹配或regex的java方法也适用于我:)
发布于 2015-01-21 06:40:38
您可以从命令promt C:>java -version的单行执行此操作。
发布于 2011-09-30 06:59:18
你可以试试:
java -version 2>&1 | awk '/version/ {print $3}' | egrep -o '[^\"]*'发布于 2014-04-26 05:19:25
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.You可以通过删除%k、%l和%m.This命令提示符版本来使用更多的主版本。
For .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供应商不支持-fullversion交换机,或者它们的实现与Oracle提供的实现不一样(最好避免它们)。
https://stackoverflow.com/questions/7606607
复制相似问题