在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
第一种代码:通过 %PROCESSOR_ARCHITECTURE% 可以通过cmd中 通过 if "%PROCESSOR_ARCHITECTURE%"=="x86" goto x86 if "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto x64 exit :x64 explorer.exe http://www.baidu.com/ exit :x86 explorer.exe https://www.ogeek.net/ x86代表系统是32位,AMD64代表系统是64位 这段批处理代码很简单,如果是32位系统,就打开极客世界;如果是64位系统,就打开百度 当然了,这段批处理代码并没有实际的用途,只是做一个测试。实际情况下,这个检测还是很有用的,比如根据不同的情况,注册不同的服务,等等 第二种代码:if exist %windir%\SysWOW64 实例代码 @echo off if exist %windir%\SysWOW64 ( start http://www.baidu.com )else ( start https://www.ogeek.net ) 原理是判断是否存在SysWOW64目录,一般情况下64位系统都会有这个目录。 这段批处理代码很简单,如果是32位系统,就打开极客世界;如果是64位系统,就打开百度 以下极客世界小编为大家分享几个实例 使用cmd命令批处理判断windows系统是32bit还是64bit @echo off ::从系统文件中获取系统版本信息 for /f "tokens=1* delims=[" %%a in ('ver') do set b=%%b ::将版本信息赋值给变量b set 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.6 echo 系统版本: winxp_32位 goto:eof :5.2.6 echo 系统版本: win2003_32位 goto:eof :5.2.4 echo 系统版本: win2003_64位 goto:eof :6.1.6 echo 系统版本:win7_32位 goto:eof :6.1.4 echo 系统版本:win7或win2008_64位 输出如下: 继续补充 64位系统注册表: [HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0] 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位以及操作系统类型 方法一:
方法二: 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 var中存储的数据,PROCESSOR_ARCHITECTURE存储的内容 @echo off for /f "tokens=1* delims=[" %%a in ('ver') do set b=%%b set b=%b:* =% goto %b:~0,4%%PROCESSOR_ARCHITECTURE:~-1% :5.1.6 echo xp_32λ goto:eof :6.1.6 echo win7_32λ goto:eof :6.1.4 echo win7_64λ :6.0.6 echo vista_32 ::exit :6.0.4 echo vista_64 ::exit pause 批处理检测32位64位系统,结果到文本,判断后将文件夹123拷贝相应program files或program files(x86)中? 通过批处理程序检测系统是32位还是64位,将结果保存到c:\a.txt文件中,并且通过判断的结果32位系统将123文件夹拷贝到C:\Program Files文件夹中,是64位系统则将123文件夹拷贝到C:\program files(x86)文件夹中。 @echo off if %PROCESSOR_ARCHITECTURE%==x86 (echo 32位系统>c:\a.txt&xcopy /d/y/c/e/h/k "%~dp0123" "C:\Program Files\123\") else (echo 64位系统>c:\a.txt&xcopy /d/y/c/e/h/k "%~dp0123" "C:\Program Files (x86)\123\") pause 或 @echo off if %PROCESSOR_ARCHITECTURE%==x86 (set "var=C:\Program Files") else set "var=C:\Program Files (x86)" echo %var% pause 是的,上面的代码并没有设置环境变量,只是设置了在批处理中的临时局部变量而已,退出批处理就失效了. |
请发表评论