
用%processorarchitecture%來判斷64位系統和32位系統是不準確的%processor_architecture%變量根本不能用來判斷是32位系統還是64位系統。我不知道那個問題回答這個變量的是復制別人的還是經過自己測試過的。以下是我的測試結果。當%processor_architecture%變量在64位系統中在32位的CMD下顯示的是x86,在64位CMD下顯示的是???64,我還測試了BAT轉換成EXE后顯示的結果,由于轉換后的EXE程序是32位的,所以%processor_architecture%變量的結果是x86。所以%processor_architecture%不能當作來判斷32位系統還是64位系統的。
以下代碼可以正確判斷是32位系統和64位系統xp、win7 32/64、win8.1 32/64測試通過。nclick="copycode($('code0'));">復制代碼
- rem 測試用%PROCESSOR_IDENTIFIER%結果并不能作為判斷32位系統的64位系統的依據
- echo PROCESSOR_IDENTIFIER=%PROCESSOR_IDENTIFIER%
- echo PROCESSOR_ARCHITECTURE=%PROCESSOR_ARCHITECTURE%
- pause
nclick="copycode($('code1'));">復制代碼
- rem 判斷64位系統和32位系統
- if /i %PROCESSOR_IDENTIFIER:~0,3%==x86 (
- echo 32位操作系統
- ) else (
- echo 64位操作系統
- )
- pause

