Search notes:

cmd.exe: Determine if running in a 32 or 64 bit environment

Using %PROCESSOR_ARCHITECTURE% and %PROCESSOR_ARCHITEW6432%

Apparently, using %PROCESSOR_ARCHITECTURE% is missleading. The variable reports the bitness of the process, not the bitness of the CPU.
%PROCESSOR_ARCHITEW6432% can only be used for WOW64.
See David Wang: HOWTO: Detect Process Bitness.
However, it seems that it's possible to query the value of PROCESSOR_ARCHITECTURE directly from the registry under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment:
PowerShell:
[environment]::getEnvironmentVariable('PROCESSOR_ARCHITECTURE', 'machine')
and cmd.exe:
for /f "tokens=3 usebackq" %a in (`reg query "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE`) do echo %a

Using %PROGRAMFILES(x86)%

Another approach seems to be to check if the environment variable %PROGRAMFILES(x86)% (not the directory it points to) exists.
On 32-bit systems, the variable is not defined.

With wmic

With wmic.exe, the bitness (here refered to as address with) can be determined like so
C:\> wmic cpu get addressWidth
Compare that with
C:\> wmic cpu get dataWidth
In an elevated command prompt, it can alternativelly be determined as follows
c:\> wmic os get osArchitecture

Using the registry

The value of Identifier under HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0 seems to contain 64 Family if it is a 64 bit cpu, see this script.

See also

Determine if a Portable Executable is 32 or 64-bit
The presence of the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node key in the registry also indicates that a 64 bit version of Windows is running.
WOW64

Index