How to tell Windows x32 or x64 in Commandline

English support forum

Moderators: Hacker, petermad, Stefan2, white

Post Reply
User avatar
dindog
Senior Member
Senior Member
Posts: 316
Joined: 2010-10-18, 07:41 UTC

How to tell Windows x32 or x64 in Commandline

Post by *dindog »

in pseudo code:

Code: Select all

if OS=x64 then
      do A
else OS = x32
      do B
end
User avatar
Vochomurka
Power Member
Power Member
Posts: 816
Joined: 2005-09-14, 22:19 UTC
Location: Russia
Contact:

Post by *Vochomurka »

May be

Code: Select all

if exist %systemroot%\syswow64\*.* ...
Single user license #329241
PowerPro scripts for Total Commander
User avatar
Dalai
Power Member
Power Member
Posts: 10035
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

The most reliable way (IMO):

Code: Select all

if not "%ProgramFiles(x86)%"=="" (
  Do 64 bit stuff here
) ELSE (
  Do 32 bit stuff here
)
Oops, sorry, I misunderstood. I thought you wanted to know whether your script is running in a 32 or 64 bit CMD. Instead, you want to know whether the system your script runs on is 32 or 64 bit. You could use something like this:

Code: Select all

if exist %SystemRoot%\SysWOW64\*.* (
  you're on a x64 system
) ELSE (
  you're on a 32 bit system
)
Regards
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
LonerD
Senior Member
Senior Member
Posts: 381
Joined: 2010-06-19, 20:18 UTC
Location: Makeyevka/Makiivka
Contact:

Post by *LonerD »

I use such .bat for some time:

Code: Select all

IF EXIST "%ProgramFiles(x86)%" (
  Start /Wait CCleaner64.exe
) Else (
   Start /Wait CCleaner.exe
)
Now it not necessary to do it in total with scripts.
Plugin Autorun has environment variables with OS bits, TC bits and many others
"I used to feel guilty in Cambridge that I spent all day playing games, while I was supposed to be doing mathematics. Then, when I discovered surreal numbers, I realized that playing games IS math." John Horton Conway
User avatar
beb
Power Member
Power Member
Posts: 593
Joined: 2009-09-20, 08:03 UTC
Location: Odesa, Ukraine

Post by *beb »

this is my version (.bat/.cmd):

Code: Select all

@echo off
@echo Detecting OS Bitness
cls
IF "%PROCESSOR_ARCHITECTURE%"=="x86" set xOS=x86
IF "%PROCESSOR_ARCHITECTURE%"=="AMD64" set xOS=x64
IF "%PROCESSOR_ARCHITEW6432%"=="AMD64" set xOS=x64
echo xOS=%xOS%
pause
Gives 100% result running from both 32 or 64bit Total Commander (or from anywhere else) since W7x64, W8x64, W8.1x64 till W10x64.

NB

Code: Select all

Environment Variable \ Program Bitness	32bit Native	64bit Native	WOW64
PROCESSOR_ARCHITECTURE          			x86		      AMD64		    x86
PROCESSOR_ARCHITEW6432          			undefined	   undefined	   AMD64
Post Reply