DOS脚本来检查默认的Java安装版本是否大于1.x

正如主题所说,我需要一个DOS脚本来检查安装在Windows XP机器上的Java版本。 此外,我需要检查版本是否大于前缀值1.x。

任何人都可以帮助我?

谢谢!

获取版本,并将其写入临时文件。 然后只解析版本本身:

@echo off echo off java -version 2> tmp_java_version.txt set /p JAVA_VERSION= < tmp_java_version.txt del tmp_java_version.txt set JAVA_VERSION=%JAVA_VERSION:~14,3% echo %JAVA_VERSION% pause > NUL 

如果你可以下载和gawk的Windows。

 C:\test>java -version 2>&1 | gawk "NR==1{print $3}" "1.6.0_16" 
 java -version 

您也可以使用该命令

 java -fullversion 

并产生如下输出:

java完整版“1.6.0_17-b04”

在没有安装任何Sun Microsystems Java版本的计算机上,这会导致错误消息:

'java'不被识别为内部或外部命令,可操作的程序或批处理文件。

在一批你可以做:

 @echo off java.exe -fullversion 2> c:\temp\out.txt for /F "tokens=4" %%i IN (c:\temp\out.txt) DO echo %%i 

您无法避免临时文件,因为java.exe输出写入标准错误! 所以你必须将标准错误重定向到一个文件。

在commmand提示符下,你可以只键入它有java -version.

例如:

 D:\Users> java -version 

那么你会得到答案

 java version 1.8.0_11