Board logo

标题: [系统相关] [已解决]批处理如何系统位数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的環境可測試!!
  1. @echo off
  2. cls
  3. echo %processor_architecture% | find "86" >nul && if %errorlevel% equ 0 echo 32 Bit
  4. echo %processor_architecture% | find "64" >nul && if %errorlevel% equ 0 echo 64 Bit
  5. pause >nul
复制代码

作者: hanyeguxing    时间: 2011-5-10 19:35

6# dennisle
  1. 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://bbs.bathome.net/) Powered by Discuz! 7.2