用于创建数组和存储值和co的批处理脚本

时间:2014-07-15 09:39:49

标签: java windows batch-file java-home

嗨我需要一个批处理脚本,想要创建一个数组存储一个值列表(1.6_445,1.6_555,1.6_745,1.7)。然后它需要从系统回显java vesion和java的值vesion需要将值与数组中的值进行比较。如果值大于1.6_445,则需要显示错误消息" Not working" (获取系统的java版本,如果java vesion值大于1.6_445则需要显示错误)

有可能吗?

目前我正在使用以下脚本

@echo off     setlocal enableextensions disabledelayedexpansion     :: JavaLoft注册数据的HKLM \ SOFTWARE下的可能位置     set" javaNativeVersion ="     set" java32ON64 = Wow6432Node \"

:: for variables
::    %%k = HKLM\SOFTWARE subkeys where to search for JavaSoft key
::    %%j = full path of "Java Runtime Environment" key under %%k
::    %%v = current java version
::    %%e = path to java

set "javaDir="
set "javaVersion="
for %%k in ( "%javaNativeVersion%" "%java32ON64%") do if not defined javaDir (
    for %%j in (
        "HKLM\SOFTWARE\%%~kJavaSoft\Java Runtime Environment"
    ) do for /f "tokens=3" %%v in (
        'reg query "%%~j" /v "CurrentVersion" 2^>nul ^| find /i "CurrentVersion"'
    ) do for /f "tokens=2,*" %%d in (
        'reg query "%%~j\%%v" /v "JavaHome"   2^>nul ^| find /i "JavaHome"'
    ) do ( set "javaDir=%%~e" & set "javaVersion=%%v" )
)
if not defined javaDir (
echo Java not found

)其他(     echo JAVA_HOME ="%javaDir%"     echo JAVA_VERSION ="%javaVersion%"     if"%javaVersion%" LSS" 1.7" (         echo Java版兼容!         转到出口     )

但是这个脚本只检查java版本是否大于1.7但我想检查java版本是否大于1.6_445,因为它包含' _' charecter它需要一些其他方法而不是这个。所以一种可能的方法是将值存储在数组中并比较当前版本值(我认为)但我不知道如何编写代码。

0 个答案:

没有答案