Возможные значения% PROCESSOR_ARCHITECTURE%


25

Я пишу пакетный скрипт для Windows 7 и хочу работать как с 64-битными процессорами, так и с процессорами x86.

Каковы возможные значения %PROCESSOR_ARCHITECTURE%переменной среды Windows ?


6
'мигрировал из stackoverflow' ... это как если бы кто-то не думал, что пакетный скриптинг - это правильное программирование !?
Рори

Верхний ответ устарел по состоянию на май 2019 Пожалуйста , смотрите этот один вместо
rahuldottech поддерживает Monica

Ответы:


28

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

  • AMD64
  • IA64
  • x86

Обратите внимание, что это говорит не об архитектуре процессора, а только о процессе с переменной окружения. Возвращает «x86» для 32-битного процесса, работающего в 64-битной Windows.


10
Существует обходной путь для проблемы «32-битный процесс на 64-битной Windows»: просто проверьте PROCESSOR_ARCHITEW6432также, и если она не определена (то есть равна AMD64или IA64), то это 64-битная машина. Источник .
Олег Еремеев

2
Должен добавить ARMтуда сейчас.
quadruplebucky

2
Этот ответ устарел по состоянию на май 2019 года. Пожалуйста, посмотрите этот ответ .
rahuldottech поддерживает Монику

5

«EM64T» также является возможным значением, однако маловероятным. Насколько я понимаю, вы увидите это только с XP-64.


3

Главный ответ в настоящее время устарел. По состоянию на май 2019 года все действительные значения %PROCESSOR_ARCHITECTURE%:

64-битный :

  • AMD64
  • IA64
  • ARM64
  • EM64T

( EM64Tвстречается очень редко, почти всегда в Windows XP-64. В большинстве случаев вы можете спокойно игнорировать это в своих сценариях, если ваш код не должен быть супер обратно совместимым.)

32-разрядный :

  • X86

( источник )

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.