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 ?
windows
command-line
Jeff Atwood
źródło
źródło
Odpowiedzi:
http://msdn.microsoft.com/en-us/library/aa384274.aspx
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.
źródło
PROCESSOR_ARCHITEW6432
również, a jeśli nie jest ono niezdefiniowane (tzn. Jest równeAMD64
lubIA64
), oznacza to, że jest to maszyna 64-bitowa. Źródło .ARM
tam teraz dodać .„EM64T” jest również możliwą wartością, choć mało prawdopodobną. Rozumiem, że zobaczysz to tylko w XP-64.
źródło
Najlepsza odpowiedź jest obecnie nieaktualna. Od maja 2019 r. Podano wszystkie prawidłowe wartości
%PROCESSOR_ARCHITECTURE%
:64-bitowy :
AMD64
IA64
ARM64
EM64T
(
EM64T
jest 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 )
źródło