¿Cómo determino si mi Windows es 32-bit o 64-bit usando un comando?

Posibles duplicados:
Cómo saber si una computadora tiene una CPU o SO de 64 bits
Detectar Windows Server versión 32/64-bit en CLI
Versión del sistema operativo: 32 bits o 64 bits?

¿Cómo puedo determinar si mi sistema Windows es de 32 bits o 64 bits de la línea de comandos?

Quiero saber el bitness del sistema operativo, no el hardware.

Esta pregunta se aplica estrictamente a la línea de comandos sólo , no quiero ninguna solución GUI.

Desde un símbolo del sistema elevado, escriba wmic os get osarchitecture . La salida es bastante obvia, creo – va a volver ya sea "32-bit" o "64-bit".

El programa de la consola systeminfo mostrará esto. Usted querrá buscar la línea "Tipo de sistema:". Para los sistemas de 32 bits, dirá "PC basada en x86", para los sistemas de 64 bits, dirá "PC basada en x64".

O bien, para un método más rápido, simplemente puede comprobar la variable de entorno PROCESSOR_ARCHITECTURE. Los sistemas de 64 bits dirán que los sistemas AMD64 y 32-bit deberían decir "x86". Para comprobar esto simplemente puede hacer un eco:

 echo %PROCESSOR_ARCHITECTURE% 

David Wang en MSDN Blogs se expande en este HOWTO: Detectar Proceso Testigo

Puede comprobar si se declara la variable de entorno %PROGRAMFILES(x86)% . En sistemas de 32 bits, no se definirá (sólo %PROGRAMFILES% será). Esto también es más seguro, entonces acaba de comprobar si el archivo de programa (x86) directorio existe, ya que puede ser movido (o incluso eliminado).

Escribí una aplicación de línea de comandos simple que le dirá si su procesador y su sistema operativo son de 64 bits o 32 bits.

Ejemplo de lectura:

 C:\bitchecker The CPU is 64-bit and the OS is 32-bit 

Por solicitud, aquí está la fuente, compilada usando la opción CLI, escrita en AutoIt.

 If @CPUARCH = "x86" Then $CPUARCH = "32-bit" Else $CPUARCH = "64-bit" EndIf If @OSARCH = "x86" Then $OSARCH = "32-bit" Else $OSARCH = "64-bit" EndIf ConsoleWrite("The CPU is " & $CPUARCH & " and the OS is " & $OSARCH) 

Y aquí hay un ejemplo si desea switches para CPU (-c) y OS (-o):

 Dim $CPUARCH, $OSARCH If @CPUARCH = "x86" Then $CPUARCH = "32-bit" Else $CPUARCH = "64-bit" EndIf If @OSARCH = "x86" Then $OSARCH = "32-bit" Else $OSARCH = "64-bit" EndIf If $CmdLine[0] = 0 Then ConsoleWrite("The CPU is " & $CPUARCH & " and the OS is " & $OSARCH) Else Select Case $CmdLine[1] = "-c" ConsoleWrite($CPUARCH) Case $CmdLine[1] = "-o" ConsoleWrite($OSARCH) Case Else ConsoleWrite("The CPU is " & $CPUARCH & " and the OS is " & $OSARCH) EndSelect EndIf 

¿Qué pasa si usted acaba de comprobar la presencia de

% SYSTEMROOT% \ Archivos de programa (x86)

O como sea que se llame?