标题: [系统相关] [已解决]批处理如何系统位数x86及x64(32/64)? [打印本页]
作者: dennisle 时间: 2011-5-10 13:04 标题: [已解决]批处理如何系统位数x86及x64(32/64)?
本帖最后由 pcl_test 于 2017-3-29 10:48 编辑
請教論壇上的批處理前輩大哥
在 WINXP 及 WIN7 的環境裡批處理如何判斷系統位元 x86及x64 ,
懇請不吝指教,謝謝!!
作者: CrLf 时间: 2011-5-10 13:09
wmic os get OSArchitecture
作者: hanyeguxing 时间: 2011-5-10 13:58
%PROCESSOR_ARCHITECTURE%
作者: CrLf 时间: 2011-5-10 14:02
楼上真简洁...我都忘了环境变量中有这个玩意
作者: fkfreedom 时间: 2011-5-10 18:38
64位系统WINDOWS文件夹下有SysWOW64文件夹 32位的没有
也可以用SYSTEMINFO判断
方法很多
作者: dennisle 时间: 2011-5-10 19:12
感謝樓上幾位前輩的回覆:
不知用此代碼判斷是否正確,小弟試過WINXP x86 可行,
目前手邊沒有x64的環境可測試!!- @echo off
- cls
- echo %processor_architecture% | find "86" >nul && if %errorlevel% equ 0 echo 32 Bit
- echo %processor_architecture% | find "64" >nul && if %errorlevel% equ 0 echo 64 Bit
- pause >nul
复制代码
作者: hanyeguxing 时间: 2011-5-10 19:35
6# dennisle - if /i "%processor_architecture%"=="x86" (echo;32位) else echo;64位
复制代码
作者: dennisle 时间: 2011-5-10 19:46
7# hanyeguxing
非常感謝 hanyeguxing 小弟受教了!!
作者: missll 时间: 2011-5-11 02:16
刚才对比了一下 64 和 32的操作系统
%PROCESSOR_ARCHITECTURE%
64的显示
PROCESSOR_ARCHITECTURE=AMD64
32位的
PROCESSOR_ARCHITECTURE=x86
为什么是AMD64而不是X64呢 我这CPU是 I7的
作者: hanyeguxing 时间: 2011-5-11 03:29
本帖最后由 hanyeguxing 于 2011-5-11 03:51 编辑
%PROCESSOR_ARCHITECTURE%不是显示多少位的,而是显示返回处理器的芯片体系结构。只是在32位和64位之间区分明显,即32位下一般为x86 。Intel从8086开始,286、386、486、586、P1、P2、P3、P4等都用的同一种CPU架构,统称X86。x86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X与处理器没有任何关系,它是一个对所有*86系统的简单的通配符定义,例如:i386, 586,奔腾(pentium),换句话说即使是16位的也显示x86。
intel的64位架构为IA64,AMD的64位架构为AMD64。
作者: wnsdt 时间: 2013-6-4 10:14
回复 4# CrLf
提醒楼主,%PROCESSOR_ARCHITECTURE%这个环境变量如果用在批处理中,且该批处理被做成自解压包或使用32位的bat转exe工具打包后,再运行判断结果始终是X86。
如果你有上述情况,还是建议你采取5楼的思路,比较简单保险。
判断语句如下:
if exist %windir%\SysWOW64 echo 系统是64位
系统是32位
作者: lemoncn 时间: 2014-7-2 16:13
回复 10# hanyeguxing
现在Intel也有x86_64架构的CPU了,所以amd64准确的来讲是专指x86_64架构的cpu,无论是amd还是intel。而ia64是专指intel安腾系列架构的cpu
amd64和ia64这两种架构还是有区别的
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |