添加到桌面   加入收藏

bat下令批处置惩罚判断32位照旧64位系统的多种要

01-01 08:00 来源:未知 编辑:admin  人气:   点评:评论一下 刷新: 刷新文章

第一种代码:通过 %PROCESSOR_ARCHITECTURE%

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

if "%PROCESSOR_ARCHITECTURE%"=="x86" goto x86
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto x64
exit
:x64
explorer.exe http://www.baidu.com/
exit

:x86
explorer.exe //www.feizhuyun.net/

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

这段批处置惩罚代码很简朴,若是是32位系统,就打开飞猪云教程;若是是64位系统,就打开百度

固然了,这段批处置惩罚代码并没有现实的用途,只是做一个测试。现实情形下,这个检测照旧很有用的,好比凭据差别的情形,注册差别的服务,等等

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

实例代码

@echo off
if exist %windir%\SysWOW64 (
 start http://www.baidu.com
)else (
 start //www.feizhuyun.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]
“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
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

是的,上面的代码并没有设置情况变量,只是设置了在批处置惩罚中的暂时局部变量而已,退出批处置惩罚就失效了.

[提醒] 转载请保留( 飞猪云教程)文章链接,谢谢!对本文有疑问欢迎留言讨论 ( 我有话说)!
元芳,把你的犀利的看法写到这里可好?
  • 全部评论(0
    还没有评论,快来抢沙发吧!