%processor_architecture%变量根本不能用来判断是32位系统还是64位系统。我不知道那个问题回答这个变量的是复制别人的还是经过自己测试过的。
以下是我的测试结果。
当%processor_architecture%变量在64位系统中在32位的CMD下显示的是x86,在64位CMD下显示的是???64,我还测试了BAT转换成EXE后显示的结果,由于转换后的EXE程序是32位的,所以%processor_architecture%变量的结果是x86。所以%processor_architecture%不能当作来判断32位系统还是64位系统的。- rem 测试用%PROCESSOR_IDENTIFIER%结果并不能作为判断32位系统的64位系统的依据
- echo PROCESSOR_IDENTIFIER=%PROCESSOR_IDENTIFIER%
- echo PROCESSOR_ARCHITECTURE=%PROCESSOR_ARCHITECTURE%
- pause
复制代码 以下代码可以正确判断是32位系统和64位系统
xp、win7 32/64、win8.1 32/64测试通过。- rem 判断64位系统和32位系统
- if /i %PROCESSOR_IDENTIFIER:~0,3%==x86 (
- echo 32位操作系统
- ) else (
- echo 64位操作系统
- )
- pause
复制代码
|