第一种代码:通过 %PROCESSOR_ARCHITECTURE%
可以通过cmd中 通过echo %PROCESSOR_ARCHITECTURE%
原理是判断是否存在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的情况
var中存储的数据,PROCESSOR_ARCHITECTURE存储的内容
@echo offfor /f "tokens=1* delims=[" %%a in ('ver') do set b=%%bset b=%b:* =%goto %b:~0,4%%PROCESSOR_ARCHITECTURE:~-1%:5.1.6echo xp_32λgoto:eof:6.1.6echo win7_32λgoto:eof:6.1.4echo win7_64λ:6.0.6echo vista_32::exit:6.0.4echo vista_64::exitpause批处理检测32位64位系统,结果到文本,判断后将文件夹123拷贝相应program files或program files(x86)中?
通过批处理程序检测系统是32位还是64位,将结果保存到c:\a.txt文件中,并且通过判断的结果32位系统将123文件夹拷贝到C:\Program Files文件夹中,是64位系统则将123文件夹拷贝到C:\program files(x86)文件夹中。
比如我有很多绿色软件,不是每一个软件都需要判断32位还是64位,都只是拷贝到C:\Program Files中,这样做是不是只是临时设置一次,不会影响到其它的批处理文件拷贝的路径吧?
或
@echo offif %PROCESSOR_ARCHITECTURE%==x86 (set "var=C:\Program Files") else set "var=C:\Program Files (x86)"echo %var%pause是的,上面的代码并没有设置环境变量,只是设置了在批处理中的临时局部变量而已,退出批处理就失效了.