djangofan
djangofan

Reputation: 29669

How do I detect 64-bit Java from the command line?

Is there any way to get at Java internal properties, such as sun.arch.data.model , from a command line on windows? I need a command to put in a batch script that will detect the java architecture type: 32-bit or 64-bit .

Upvotes: 6

Views: 8003

Answers (4)

stoneboy
stoneboy

Reputation: 109

jarnbjo's script is for Windows. In Unix shell, you can use the following script.

  #!/bin/sh

  BIT=`java -version 2>&1`

  case "$BIT" in
    *64-Bit*)
    echo "64-Bit"
    ;;
    *)
    echo "32-Bit"
    ;;
  esac

Upvotes: 2

rlovtang
rlovtang

Reputation: 5060

If you install Groovy you can use

groovy -e "System.properties.each{println it}"

for all properties, and

groovy -e "println System.properties['sun.arch.data.model']"

for specific properties.

Installing Groovy is as easy as extracting a zip and add to path.

Upvotes: 1

jarnbjo
jarnbjo

Reputation: 34313

If you are using Sun's VM (and I would suppose other VMs have similar details in their version information), you can check for the string "64-Bit" in the output of "java -version":

java -version 2>&1 | find "64-Bit" >nul:

if errorlevel 1 (
    echo 32-Bit 
) else (
    echo 64-Bit
)

Upvotes: 6

Alexander Torstling
Alexander Torstling

Reputation: 18898

Here is a prewritten property dump program for you: linky

Upvotes: 1

Related Questions