首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Windows命令提示符中使用单个命令获取java版本?

如何在Windows命令提示符中使用单个命令获取java版本?
EN

Stack Overflow用户
提问于 2011-09-30 06:17:17
回答 5查看 34K关注 0票数 4

我需要从下面的1.6.0_26输出中获取java版本的java -version

代码语言:javascript
复制
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",它给了我以下的输出

代码语言:javascript
复制
java version "1.6.0_22"

现在,即使是一种模式匹配regex的java方法也适用于我:)

EN

回答 5

Stack Overflow用户

发布于 2015-01-21 06:40:38

您可以从命令promt C:>java -version的单行执行此操作。

票数 3
EN

Stack Overflow用户

发布于 2011-09-30 06:59:18

你可以试试:

代码语言:javascript
复制
java -version 2>&1 | awk '/version/ {print $3}' | egrep -o '[^\"]*'
票数 2
EN

Stack Overflow用户

发布于 2014-04-26 05:19:25

代码语言:javascript
复制
for /f tokens^=2-5^ delims^=.-_^" %j in ('java -fullversion 2^>^&1') do @set "jver=%j%k%l%m"

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

代码语言:javascript
复制
if %jver% LSS 16000 echo not supported version

.You可以通过删除%k、%l和%m.This命令提示符版本来使用更多的主版本。

For .bat使用如下:

代码语言:javascript
复制
@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版本的最快方法(因为它只使用内部命令,而不使用外部命令,比如FINDFINDSTR,并且不使用GOTO,这也会减缓脚本的速度)。一些JDK供应商不支持-fullversion交换机,或者它们的实现与Oracle提供的实现不一样(最好避免它们)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7606607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档