Does anybody know how to create a batch file that can shell one program if its a 64-bit system or shell another if its a 32-bit system?
On Linux, you can simply use "arch" at the command line.
ubuntu# arch
x86_64
On OSX (Snow Leopard), it returns "i386", even if you're on 64-bit hardware.
read this.
http://blogs.msdn.com/b/david.wang/archive/2006/03/26/howto-detect-process-bitness.aspx
It works without WMI too! I suggest:
@echo off
if /i "%processor_architecture%"=="AMD64" GOTO AMD64
if /i "%PROCESSOR_ARCHITEW6432%"=="AMD64" GOTO AMD64
if /i "%processor_architecture%"=="x86" GOTO x86
GOTO ERR
:AMD64
rem do amd64 stuff
GOTO EXEC
:x86
rem do x86 stuff
GOTO EXEC
:EXEC
rem do arch independent stuff
GOTO END
:ERR
@echo Unsupported architecture "%processor_architecture%"!
pause
:END