如何从命令行检测64位Java?

如何从命令行检测64位Java?,java,windows,Java,Windows,有没有办法从windows上的命令行获取Java内部属性,如sun.arch.data.model?我需要一个命令来放入一个批处理脚本,该脚本将检测java体系结构类型:32位或64位。这里有一个预写的属性转储程序供您使用:如果您正在使用Sun的VM(我想其他VM在其版本信息中也有类似的详细信息),您可以在“java-version”的输出中检查字符串“64位”: 如果您安装了,您可以使用 groovy -e "System.properties.each{println it}" 对于所有属

有没有办法从windows上的命令行获取Java内部属性,如sun.arch.data.model?我需要一个命令来放入一个批处理脚本,该脚本将检测java体系结构类型:32位或64位。

这里有一个预写的属性转储程序供您使用:

如果您正在使用Sun的VM(我想其他VM在其版本信息中也有类似的详细信息),您可以在“java-version”的输出中检查字符串“64位”:

如果您安装了,您可以使用

groovy -e "System.properties.each{println it}"
对于所有属性,以及

groovy -e "println System.properties['sun.arch.data.model']"
用于特定属性


安装Groovy就像提取zip并添加到路径一样简单。

jarnbjo的脚本适用于Windows。在Unix shell中,可以使用以下脚本

#!/bin/sh BIT=`java -version 2>&1` case "$BIT" in *64-Bit*) echo "64-Bit" ;; *) echo "32-Bit" ;; esac #!/垃圾箱/垃圾箱 位=`java-version2>&1` 中的大小写“$BIT” *64位*) 回显“64位” ;; *) 回声“32位” ;; 以撒
您是否可以编写一个小型java应用程序来实现这一点,并从批处理脚本中调用它? #!/bin/sh BIT=`java -version 2>&1` case "$BIT" in *64-Bit*) echo "64-Bit" ;; *) echo "32-Bit" ;; esac