bat命令批处理判断32位还是64位系统的多种方法
第一种代码:通过 %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 https://www.jb51.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.jb51.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
是的,上面的代码并没有设置环境变量,只是设置了在批处理中的临时局部变量而已,退出批处理就失效了.
相关文章
- 这篇文章主要介绍了cmd下过滤文件名称的两种方法,需要的朋友可以参考下...2020-06-30
- 这篇文章主要介绍了C#隐式运行CMD命令(隐藏命令窗口),本文实现在winform窗口中运行CMD命令,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了cmd命令的重定向输出 2>&1详解,需要的朋友可以参考下...2020-08-28
- cmd设置环境变量可以方便我们bat脚本的运行,但是要注意的是变量只在当前的cmd窗口有作用,需要的朋友可以参考下...2020-06-30
一键设置java 环境变量 cmd下查看、修改(覆盖与添加)等说明
这篇文章主要介绍了cmd设置环境变量的、查看、修改(覆盖与添加)等说明,需要的朋友可以参考下...2020-06-30- 编写Windows批处理时经常会需要使用到日期和时间作为文件名,每次备份都可以使用不同名字,所以是非常重要的...2020-06-30
- 今天小编就为大家分享一篇C语言中system()执行cmd命令打开关闭程序的方法。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-25
- 这篇文章主要介绍了cmd环境变量命令set 设置永久环境变量命令setx,需要的朋友可以参考下...2020-08-14
- 这篇文章主要介绍了使用cmd根据WSDL网址生成java客户端代码的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-29
- 最近想在win7上开启wifi热点,于是就弄出下面这个小东西,里面涉及如何在控制台上输入命令,分享一下。首先在VS中创建一个window窗口,然后创建两个四个button,两个输入框...2020-06-25
- 可以使用System.ServiceProcess.ServiceController这个类允许连接到正在运行或者已停止的服务、对其进行操作或获取有关它的信息但是这个类并没有提供修改服务启动类型的方法,可以通过C#调用cmd来修改...2020-06-25
windows 2008 R2 64位服务器中开启php curl扩展的方法
这篇文章主要介绍了windows 2008 R2 64位服务器中开启php curl扩展的方法,需要的朋友可以参考下...2016-01-27- 本文告诉大家如何使用相同权限调用cmd并且传入命令,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧...2020-06-25
- 管道符(|)的作用是将符号前的进程输出,当做符号后进程的输入,相当于将第一个命令的参数传给第二个命令...2020-06-30
- 今天我们就来看一下数据库的各种命令,以下命令全部是从CMD命令窗口下的命令行输入指令,首先如果如果输入mysql,系统提示“mysql不是内部命 令或外部命令...2016-04-18
C#中实现在32位、64位系统下自动切换不同的SQLite dll文件
这篇文章主要介绍了C#中实现在32位、64位系统下自动切换不同的SQLite dll文件,本文使用C#代码实现DLL文件的切换,需要的朋友可以参考下...2020-06-25- 这篇文章主要介绍了IIS下使用appcmd批量搭建网站,需要的朋友可以参考下...2016-01-27
CMD运行Intellij Idea编译后的class文件操作
这篇文章主要介绍了CMD运行Intellij Idea编译后的class文件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22- 在本篇文章里小编给大家整理了关于如何解决cmd运行python提示不是内部命令的相关内容,有兴趣的朋友们学习下。...2020-07-02
- 这篇文章主要介绍了cmd组合和管道命令的使用方法(命令组合),需要的朋友可以参考下...2020-06-30