这句批处理命令什么意思?
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
麻烦知道的详细解释一下,谢谢! 展开
for /f "tokens=1,2 delims=." %%B in ("%%~A") do (
SET JavaVer=%%C
)
)
其中JAVA_HOME为C:\Program Files\Java\jdk1.6.0_10
麻烦知道的详细解释一下,谢谢! 展开
1个回答
展开全部
这个是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个。
然後将得到的值以这个小点(.)为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是什麼。然後我们再继续讨论。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询