• bat命令批处理判断32位还是64位系统的多种方法


    bat命令批处理判断32位还是64位系统的多种方法

    更新时间:2018年02月01日 00:09:14   投稿:mdxy-dxy  
    这篇文章主要介绍了cmd命令批处理判断32位还是64位系统的多种方法,需要的朋友可以参考下

    第一种代码:通过 %PROCESSOR_ARCHITECTURE%

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    if "%PROCESSOR_ARCHITECTURE%"=="x86" goto x86
    if "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto x64
    exit
    :x64
    exit
     
    :x86
     

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

    这段批处理代码很简单,如果是32位系统,就打开脚本之家;如果是64位系统,就打开百度

    当然了,这段批处理代码并没有实际的用途,只是做一个测试。实际情况下,这个检测还是很有用的,比如根据不同的情况,注册不同的服务,等等

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

    实例代码

    1
    2
    3
    4
    5
    6
    @echo off
    if exist %windir%SysWOW64 (
    )else (
    )
     

    原理是判断是否存在SysWOW64目录,一般情况下64位系统都会有这个目录。

    这段批处理代码很简单,如果是32位系统,就打开脚本之家;如果是64位系统,就打开百度

    以下脚本之家小编为大家分享几个实例

    使用cmd命令批处理判断windows系统是32bit还是64bit

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    @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_MACHINEHARDWAREDESCRIPTIONSystemCentralProcessor]
    “Identifier”=”Intel64 Family 6 Model 62 Stepping 4”

    64位系统系统变量:

    PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 62 Stepping 4, GenuineIntel

    PROCESSOR_ARCHITECTURE = AMD64

    1
    2
    3
    4
    5
    6
    7
    @echo off
     
    IF "%PROCESSOR_ARCHITECTURE%" == "X86" (
     echo 32位系统
    ) ELSE (
     echo 64位或更高系统
    )
     

    基本上这样就明白了吧,真多32位于64位的很多需要区分对待这里就可以分开解决了。

    下面继续为大家分享一下

    bat批处理判断系统32位或64位以及操作系统类型

    方法一:

    systeminfo |find "x64"

    方法二:
    有时候需考虑wow的情况

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    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存储的内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    @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中,这样做是不是只是临时设置一次,不会影响到其它的批处理文件拷贝的路径吧?

    1
    2
    3
    @echo off
    if %PROCESSOR_ARCHITECTURE%==x86 (echo 32位系统>c:a.txt&xcopy /d/y/c/e/h/k "%~dp0123" "C:Program Files123") else (echo 64位系统>c:a.txt&xcopy /d/y/c/e/h/k "%~dp0123" "C:Program Files (x86)123")
    pause
     

    1
    2
    3
    4
    @echo off
    if %PROCESSOR_ARCHITECTURE%==x86 (set "var=C:Program Files") else set "var=C:Program Files (x86)"
    echo %var%
    pause
     

    是的,上面的代码并没有设置环境变量,只是设置了在批处理中的临时局部变量而已,退出批处理就失效了.

    出处:https://www.jb51.net/article/134126.htm

  • 相关阅读:
    origin/HEAD -> origin/master 这个分支是干嘛的啊
    使用Spring Boot来加速Java web项目的开发
    分辨真假数据科学家的20个问题及回答
    我的数学建模历程
    计算机科学中最重要的32个算法
    期权交易基本原理——买进看跌期权(Long Put),卖出看跌期权(Short Put)
    期货交易术语
    apecceosummit2016
    opencv 61篇
    server-pc--------------->lspci,lsusb,meminfo等配置信息
  • 原文地址:https://www.cnblogs.com/mq0036/p/14144627.html
Copyright © 2020-2023  润新知