Я пишу пакетный скрипт для Windows 7 и хочу работать как с 64-битными процессорами, так и с процессорами x86.
Каковы возможные значения переменной среды Windows %PROCESSOR_ARCHITECTURE%
?
Я пишу пакетный скрипт для Windows 7 и хочу работать как с 64-битными процессорами, так и с процессорами x86.
Каковы возможные значения переменной среды Windows %PROCESSOR_ARCHITECTURE%
?
http://msdn.microsoft.com/en-us/library/aa384274.aspx
Обратите внимание, что это говорит не об архитектуре процессора, а только о процессе с переменной среды. Возвращает "x86" для 32-битного процесса, работающего в 64-битной Windows.
"EM64T" также является возможным значением, однако маловероятным. Насколько я понимаю, вы увидите это только с XP-64.
REG QUERY "HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0" /v "Identifier" | Find "64 Family"
IF %ERRORLEVEL% == 1 goto x86
:x64
REM Do 64 bit stuff here
goto end
:x86
Do 32 bit stuff here
:end
EXIT %ERRORLEVEL%