Możliwe wartości% PROCESSOR_ARCHITECTURE%


25

Piszę skrypt wsadowy dla systemu Windows 7 i chcę obsługiwać zarówno procesory 64-bitowe, jak i x86.

Jakie są możliwe wartości %PROCESSOR_ARCHITECTURE%zmiennej środowiskowej Windows ?


6
„migrowane z stackoverflow” ... to tak, jakby ktoś nie uważał, że skrypty wsadowe to prawidłowe programowanie!
Rory

Najlepsza odpowiedź jest nieaktualna od maja 2019 r. Zobacz zamiast tego
rahuldottech obsługuje Monikę

Odpowiedzi:


28

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

  • AMD64
  • IA64
  • x86

Zauważ, że nie mówi to o architekturze procesora, a jedynie o procesie ze zmienną środowiskową. Zwraca „x86” dla 32-bitowego procesu uruchomionego w 64-bitowym systemie Windows.


10
Istnieje obejście problemu „Proces 32-bitowy w 64-bitowym systemie Windows”: po prostu sprawdź PROCESSOR_ARCHITEW6432również, a jeśli nie jest ono niezdefiniowane (tzn. Jest równe AMD64lub IA64), oznacza to, że jest to maszyna 64-bitowa. Źródło .
Olegs Jeremejevs

2
Powinien się ARMtam teraz dodać .
quadruplebucky

2
Ta odpowiedź jest nieaktualna od maja 2019 r . Zamiast tego zobacz .
rahuldottech obsługuje Monikę

5

„EM64T” jest również możliwą wartością, choć mało prawdopodobną. Rozumiem, że zobaczysz to tylko w XP-64.


3

Najlepsza odpowiedź jest obecnie nieaktualna. Od maja 2019 r. Podano wszystkie prawidłowe wartości %PROCESSOR_ARCHITECTURE%:

64-bitowy :

  • AMD64
  • IA64
  • ARM64
  • EM64T

( EM64Tjest bardzo rzadko spotykany, prawie zawsze w systemie Windows XP-64. W większości przypadków można bezpiecznie zignorować to w skryptach, chyba że kod musi być bardzo zgodny z poprzednimi wersjami).

32-bitowy :

  • X86

( źródło )

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.