将Java主版本号设置为变量

时间:2015-01-16 23:41:24

标签: java command version command-line-interface

这太刺激了。我试图在脚本中加入一个触发器来运行,如果主要版本的Java是1.6,1.7等等。

在我尝试设置变量的行中,我拉出Java版本并将其传递给for,并识别出令牌,从而导致" do"作为变量%jver%的set命令。但是,回显%jver%会导致回声出现在"上。为什么不设置变量?在使用%jver%之前,一切看起来都是合法的。

是的,我将脚本的百分比加倍。这里的代码用于命令提示符。

以下是该行:

%systemroot%\system32\java.exe -version 2>&1 | for /f "tokens=1-4 delims=. " %a in ('findstr /i "version"') do (set jver=%~c.%d)

2 个答案:

答案 0 :(得分:0)

@rao感谢您帮助我找到符合我意图的替代解决方案。

我的解决方法是以下几行:

for / f&#34; tokens = 1-4 delims =。 &#34; %a in(&#39; java -version 2 ^&gt; ^&amp; 1 ^ | findstr / i&#34; version&#34;&#39;)do(SET JVER =%~c。%d)< / p>

答案 1 :(得分:-1)

通过post

查看了Patrick Cuff中的答案

以下是从上述原始帖子中添加的解决方案

@echo off
setlocal

set VERSION6="1.6.0_21"
for /f "tokens=3" %%g in ('java -version 2^>^&1 ^| findstr /i "version"') do (
    @echo Output: %%g
    set JAVAVER=%%g
)
set JAVAVER=%JAVAVER:"=%
@echo Output: %JAVAVER%