Mögliche Werte von% PROCESSOR_ARCHITECTURE%

24

Ich schreibe ein Batch-Skript für Windows 7 und möchte sowohl 64-Bit- als auch x86-Prozessoren verarbeiten.

Was sind die möglichen Werte der Windows- %PROCESSOR_ARCHITECTURE%Umgebungsvariablen?

Jeff Atwood
quelle
6
'migriert von stackoverflow' ... es ist, als ob jemand nicht glaubt, dass Batch-Scripting die richtige Programmierung ist !?
Rory
Die Top-Antwort wird ab Mai veraltet 2019. Bitte sehen Sie diese eine statt
rahuldottech

Antworten:

27

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

  • AMD64
  • IA64
  • x86

Beachten Sie, dass dies nicht die Architektur des Prozessors angibt, sondern nur den Prozess mit der Umgebungsvariablen. Es gibt "x86" für einen 32-Bit-Prozess zurück, der unter 64-Bit-Windows ausgeführt wird.

RobertPitt
quelle
10
Es gibt eine Problemumgehung für das Problem "32-Bit-Prozess unter 64-Bit-Windows": Überprüfen Sie dies PROCESSOR_ARCHITEW6432ebenfalls. Wenn es nicht undefiniert ist (dh gleich AMD64oder IA64), handelt es sich um einen 64-Bit-Computer. Quelle .
Olegs Jeremejevs
2
Sollte ARMdort jetzt hinzufügen .
Vierfach
2
Diese Antwort wird als 2019 Mai veraltet Bitte beachten Sie diese ein , statt.
rahuldottech
5

"EM64T" ist ebenfalls ein möglicher Wert, jedoch unwahrscheinlich. Meines Wissens nach werden Sie dies nur mit XP-64 sehen.

DednDave
quelle
2

Die Top-Antwort ist derzeit veraltet. Ab Mai 2019 sind hier alle gültigen Werte von %PROCESSOR_ARCHITECTURE%:

64-Bit :

  • AMD64
  • IA64
  • ARM64
  • EM64T

( EM64TWird sehr selten gesehen, fast immer unter Windows XP-64. Sie können dies in Ihren Skripten in den meisten Fällen ignorieren, es sei denn, Ihr Code muss super abwärtskompatibel sein.)

32-Bit :

  • X86

( Quelle )

rahuldottech
quelle