如何在Windows命令提示符下使用单个命令获取java版本?
我需要从下面的 java -version
输出中获取 java 版本 1.6.0_26
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"
即使是模式匹配或正则表达式的java方式也适用于我:)
I need to fetch java version 1.6.0_26
from the below java -version
output
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)
Please help me getting 1.6.0_26
Note: I don't need power shell or any external programs
UPDATE
I came up with java -version 2>&1 | findstr /i "version"
which give me below output
java version "1.6.0_22"
now even a java way of pattern matching or regex will work for me :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
您可以从单行链接到的问题 Pangea 运行解决方案:
我刚刚检查过,看来我的第二个示例仅适用于 Windows7,以下内容适用于 Windows XP(因此它也应该适用于 Windows7)
You can run the solution from the question Pangea linked to in a single line:
I just checked and it seems my second example only works with Windows7, the following works for me on Windows XP (so it should work on Windows7 as well)
您可以从命令提示符中的单行执行此操作
C:>java -版本
you can do it from single line from command promt
C:>java -version
您可以尝试:
You can try:
这会将 java 版本存储到
jver
变量中并作为整数您可以使用它进行比较。EG
。您可以通过删除 %k 和 %l 和 %m 来使用更多主要版本。此命令提示符版本。
对于 .bat 使用这个:
根据我的测试,这是从 bat 获取 java 版本的最快方法(因为它仅使用内部命令,而不使用外部命令
FIND
、FINDSTR
并且不使用GOTO
这也会减慢脚本速度)。一些 JDK 供应商不支持-fullversion
开关,或者它们的实现与 Oracle 提供的实现不同(最好避免它们)。This will store the java version into
jver
variable and as integerAnd you can use it for comparisons .E.G
.You can use more major version by removing %k and %l and %m.This command prompt version.
For .bat use this:
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 useGOTO
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 版本
1.6.0_26
并调用
where
rs="java version \"1.6.0_26\""
I wrote the below function to fetch java version
1.6.0_26
and call
where
rs="java version \"1.6.0_26\""
基于 @a_horse_with_no_name 但首先检测命令是否存在。
Based on @a_horse_with_no_name but detecting first if command exists.