这句批处理命令什么意思?

for/f"tokens=3"%%AIN('%JAVA_HOME%\bin\java-version2^>^&1^|findstr"javaversion"')do(fo... for /f "tokens=3" %%A IN ('%JAVA_HOME%\bin\java -version 2^>^&1 ^| findstr "java version"') do (
for /f "tokens=1,2 delims=." %%B in ("%%~A") do (
SET JavaVer=%%C
)
)
其中JAVA_HOME为C:\Program Files\Java\jdk1.6.0_10
麻烦知道的详细解释一下,谢谢!
展开
 我来答
kikihi
2013-01-15 · 超过29用户采纳过TA的回答
知道答主
回答量:124
采纳率:0%
帮助的人:85.5万
展开全部
这个是set JavaVer的。。这有个嵌套。首先执行%JAVA_HOME%\bin\java -version 2^>^&1 ^| findstr "java version",先执行前面的%JAVA_HOME%\bin\java -version 2^>^&1。然後找到java version这个字符,找到後 以空格为rule,截取第三段的值
然後将得到的值以这个小点(.)为rule截取第一个和第二个值。然後设定JavaVer的值为第2个。
更多追问追答
追问
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)

jdk的版本信息是这样的,但执行了批处理命令后,JavaVer的值为什么为空?!
追答
抱歉,好久没上网了。我意见是你先执行下%JAVA_HOME%\bin\java -version 2^>^&1 看show出的msg是什麼。然後我们再继续讨论。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式