首页 > 编程 > BAT > 正文

bat命令批处理判断32位还是64位系统的多种方法

2020-06-09 14:03:03
字体:
来源:转载
供稿:网友

第一种代码:通过 %PROCESSOR_ARCHITECTURE%

可以通过cmd中 通过echo %PROCESSOR_ARCHITECTURE%

if "%PROCESSOR_ARCHITECTURE%"=="x86" goto x86if "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto x64exit:x64explorer.exe http://www.baidu.com/exit:x86explorer.exe //www.jb51.net/

x86代表系统是32位,AMD64代表系统是64位

这段批处理代码很简单,如果是32位系统,就打开武林站长站;如果是64位系统,就打开百度

当然了,这段批处理代码并没有实际的用途,只是做一个测试。实际情况下,这个检测还是很有用的,比如根据不同的情况,注册不同的服务,等等

第二种代码:if exist %windir%/SysWOW64

实例代码

@echo offif exist %windir%/SysWOW64 ( start http://www.baidu.com)else ( start //www.jb51.net)

原理是判断是否存在SysWOW64目录,一般情况下64位系统都会有这个目录。

这段批处理代码很简单,如果是32位系统,就打开武林站长站;如果是64位系统,就打开百度

以下武林站长站小编为大家分享几个实例

使用cmd命令批处理判断windows系统是32bit还是64bit

@echo off::从系统文件中获取系统版本信息for /f "tokens=1* delims=[" %%a in ('ver') do set b=%%b::将版本信息赋值给变量bset b=%b:* =%::输出指定值echo %b:~0,4%echo %PROCESSOR_ARCHITECTURE:~-1%echo %b:~0,4%%PROCESSOR_ARCHITECTURE:~-1%::调用指定值对应的cmd命令行call:%b:~0,4%%PROCESSOR_ARCHITECTURE:~-1%pause&exit:5.1.6echo 系统版本: winxp_32位goto:eof:5.2.6echo 系统版本: win2003_32位goto:eof:5.2.4echo 系统版本: win2003_64位goto:eof:6.1.6echo 系统版本:win7_32位goto:eof:6.1.4echo 系统版本:win7或win2008_64位

输出如下:

继续补充

64位系统注册表:

[HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/CentralProcessor/0]
“Identifier”=”Intel64 Family 6 Model 62 Stepping 4”

64位系统系统变量:

PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 62 Stepping 4, GenuineIntel

PROCESSOR_ARCHITECTURE = AMD64

@echo off IF "%PROCESSOR_ARCHITECTURE%" == "X86" ( echo 32位系统) ELSE ( echo 64位或更高系统)

基本上这样就明白了吧,真多32位于64位的很多需要区分对待这里就可以分开解决了。

下面继续为大家分享一下

bat批处理判断系统32位或64位以及操作系统类型

方法一:

systeminfo |find "x64"

方法二:
有时候需考虑wow的情况

IF PROCESSOR_ARCHITECTURE == amd64 or PROCESSOR_ARCHITEW6432 == amd64 THEN // OS is 64bit ELSE // OS is 32bit END IF Another way to test for the same thing is: IF PROCESSOR_ARCHITECTURE == x86 AND PROCESSOR_ARCHITEW6432 NOT DEFINED THEN // OS is 32bit ELSE // OS is 64bit END IF            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表