正如主题所说,我需要一个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