Valores posibles de% PROCESSOR_ARCHITECTURE%

25

Estoy escribiendo un script por lotes para Windows 7 y quiero manejar procesadores de 64 bits y x86.

¿Cuáles son los valores posibles de la %PROCESSOR_ARCHITECTURE%variable de entorno de Windows ?

Jeff Atwood
fuente
66
'migrado de stackoverflow' ... ¡¿es como si alguien no creyera que las secuencias de comandos por lotes son una programación adecuada ?!
Rory
La respuesta principal está desactualizada a partir de mayo de 2019. Por favor, vea esta en su lugar
rahuldottech apoya a Mónica

Respuestas:

28

http://msdn.microsoft.com/en-us/library/aa384274.aspx

  • AMD64
  • IA64
  • x86

Tenga en cuenta que esto no le indica la arquitectura del procesador, sino solo el proceso con la variable de entorno. Devuelve "x86" para un proceso de 32 bits que se ejecuta en Windows de 64 bits.

RobertPitt
fuente
10
Existe una solución alternativa para el problema del "proceso de 32 bits en Windows de 64 bits": simplemente verifique PROCESSOR_ARCHITEW6432también, y si no está indefinido (es decir, igual AMD64o IA64), entonces esta es una máquina de 64 bits. Fuente .
Olegs Jeremejevs
2
Debería agregar ARMallí ahora.
quadruplebucky
2
Esta respuesta está desactualizada a partir de mayo de 2019. Consulte esta en su lugar.
Rahuldottech apoya a Mónica
5

"EM64T" también es un valor posible, aunque poco probable. Tengo entendido que solo verá esto con XP-64.

DednDave
fuente
3

La respuesta principal está actualmente desactualizada. A partir de mayo de 2019, aquí están todos los valores válidos de %PROCESSOR_ARCHITECTURE%:

64 bits :

  • AMD64
  • IA64
  • ARM64
  • EM64T

( EM64Trara vez se ve, casi siempre en Windows XP-64. Puede ignorar esto de manera segura en sus scripts en la mayoría de los casos, a menos que su código deba ser súper compatible con versiones anteriores).

32 bits :

  • X86

( fuente )

rahuldottech apoya a Monica
fuente