11

Java バージョンを取得し、バッチ ファイルから Java バージョンの '6' を取得する方法。以下のスクリプトを試しましたが、うまくいきませんでした。

    REM check java exists using JAVA_HOME system variable

if "%JAVA_HOME%" == "" (
ECHO Installing java
start /w jdk.exe /s
SETX -m JAVA_HOME "C:\Program Files\Java\jdk1.6.0_31"
ECHO java installed successfully
) ELSE (
ECHO checking java version
goto check_java_version
)

REM check java version using JAVA_HOME system variable
:check_java_version
set PATH=%PATH%;%JAVA_HOME%\bin
for /f tokens^=2-5^ delims^=.-_^" %%j in ('%JAVA_HOME%/bin/java -version 2^>^&1') do set "jver=%%j%%k%%l%%m"
echo %jver%

JAVA_HOME には「C:\Program Files\Java\jdk1.6.0_31」という値があります。

4

5 に答える 5

3

あなたはこれを行うことができますawk

>java -fullversion 2>&1|awk "{print $NF}"
「1.7.0_21-b11」

>java -fullversion 2>&1|awk -F\" "{print $(NF-1)}"
1.7.0_21-b11

スクリプト例:

@ECHO OFF &SETLOCAL
FOR /f %%a IN ('java -fullversion 2^>^&1^|awk "{print $NF}"') DO SET "javaversion=%%a"
IF DEFINED javaversion (ECHO java version: %javaversion%) ELSE ECHO java NOT found

出力は次のとおりです。 java version: "1.7.0_21-b11"
awk for Windows

于 2013-07-18T06:31:15.440 に答える
1

それはばかげているでしょうが、JAVA_HOMEパスを出力しないのはなぜですか?

于 2016-08-18T09:13:34.310 に答える