这太刺激了。我试图在脚本中加入一个触发器来运行,如果主要版本的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)
答案 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%