bat命令批处理判断32位还是64位系统的多种⽅法第⼀种代码:通过 %PROCESSOR_ARCHITECTURE%
可以通过cmd中通过echo %PROCESSOR_ARCHITECTURE%
if "%PROCESSOR_ARCHITECTURE%"=="x86" goto x86
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto x64
exit
:x64
< www.baidu/
exit
:x86
< www.jb51/
x86代表系统是32位,AMD64代表系统是64位
这段批处理代码很简单,如果是32位系统,就打开;如果是64位系统,就打开百度
热键冲突当然了,这段批处理代码并没有实际的⽤途,只是做⼀个测试。实际情况下,这个检测还是很有⽤的,⽐如根据不同的情况,注册不同的服务,等等第⼆种代码:if exist %windir%\SysWOW64
实例代码
@echo off
if exist %windir%\SysWOW64 (
start www.baidu
)else (
start www.jb51
)
原理是判断是否存在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]
“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
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
dnf鬼泣加点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)⽂件夹中。
⽐如我有很多绿⾊软件,不是每⼀个软件都需要判断32位还是64位,都只是拷贝到C:\Program Files中,这样做是不是只是临时设置⼀次,不会影响到其它的批处理⽂件拷贝的路径吧?
@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
是的,上⾯的代码并没有设置环境变量,只是设置了在批处理中的临时局部变量⽽已,退出批处理就失效了.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论