NUL && goto win95 ver | find "4.10." > NUL && goto win98 ver | find "4.90." > NUL && goto win_me ver | find "3.51." > NUL && goto win_Nt_3_5 ver | find "5.0..._批量获取客户端服务器上的系统版本信息">
赞
踩
方式1:
- @echo off
- cls
-
- ver | find "4.0." > NUL && goto win95
- ver | find "4.10." > NUL && goto win98
- ver | find "4.90." > NUL && goto win_me
- ver | find "3.51." > NUL && goto win_Nt_3_5
- ver | find "5.0." > NUL && goto win2000
- ver | find "5.1." > NUL && goto win_xp
- ver | find "5.2." > NUL && goto win2003
- ver | find "6.0." > NUL && goto vista
- ver | find "6.1." > NUL && goto win7
- ver | find "6.2." > NUL && goto win8
- ver | find "6.3." > NUL && goto win8.1
- ver | find "10." > NUL && goto win10
-
- :win95
- @echo 当前系统是:win95
- @echo ----------------------------------------
- goto end
-
- :win98
- @echo 当前系统是:win98
- @echo ----------------------------------------
- goto end
-
- :win_me
- @echo 当前系统是:win_me
- @echo ----------------------------------------
- goto end
-
- :win_Nt_3_5
- @echo 当前系统是:win NT 3.51
- @echo ----------------------------------------
- goto end
-
- :win2000
- @echo 当前系统是:win2000
- @echo ----------------------------------------
- goto end
-
- :win_xp
- @echo 当前系统是:WinXP
- @echo ----------------------------------------
- goto end
-
- :win2003
- @echo 当前系统是:win200
- @echo ----------------------------------------
- goto end
-
- :vista
- @echo 当前系统是:vista
- @echo ----------------------------------------
- goto end
-
-
- :win7
- @echo 当前系统是:win7
- @echo ----------------------------------------
- goto end
-
- :win8
- @echo 当前系统是:win8
- @echo ----------------------------------------
- goto end
-
- :win8.1
- @echo 当前系统是:win8.1
- @echo ----------------------------------------
- goto end
-
- :win10
- @echo 当前系统是:win10
- @echo ----------------------------------------
- goto end
-
- @echo 不能获取当前操作系统版本
- @echo ----------------------------------------
-
- :end
- pause
方式2:
- @echo off
- ::从系统文件中获取系统版本信息
- ::delims=;表示以分号作为分隔符,对remain字符串进行分割处理。
- ::tokens=1*,tokens表示分段的方式,tokens=1*表示第一个分隔符;之前的作为一部分,剩下的(*表示)作为一部分。这两部分在循环体总可以::用%%a表示第一部分,%%b表示第二部分。
- for /f "tokens=1* delims=[" %%a in ('ver') do set b=%%b
- ::将版本信息赋值给变量b
- ::set b=%b:* =%
- set b=%b:* =%
- ::调用指定值对应的cmd命令行
- call:%b:~0,4%%PROCESSOR_ARCHITECTURE:~-1%
-
- echo %b%
-
- for /f "tokens=1* delims=]" %%a in (%ver%) do set b=%%a
- set b=%b:* =%
- echo ver=%b%
-
- @echo off
- for /f "tokens=2 delims==" %%a in ('wmic path win32_operatingsystem get LocalDateTime /value') do (
- set t=%%a
- )
- set nowTime=%t:~0,12%
- echo,%nowTime%
-
- 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_64或win2008_64位
- goto:eof
- :6.2.6
- echo 系统版本:win8_32位
- goto:eof
- :6.2.4
- echo 系统版本:win8_64或win2012_64位
- goto:eof
-
- pause
获取版本号(数字)
- @echo off
- ver
- ::从系统文件中获取系统版本信息
- ::delims=;表示以分号作为分隔符,对remain字符串进行分割处理。
- ::tokens=1*,tokens表示分段的方式,tokens=1*表示第一个分隔符;之前的作为一部分,剩下的(*表示)作为一部分。这两部分在循环体总可以:::用%%a表示第一部分,%%b表示第二部分。
- ::在.bat文件中会将%%视为命令行窗口中的%,因此,for循环的参数例如%i,在.bat文件中应写成%%i
- echo "-----------------------------方式1----------------------------"
- for /f "tokens=1* delims=[" %%a in ('ver') do (
- set b=%%b
- set a=%%a
- REM echo %%a
- REM echo %%b
- )
- ::将版本信息赋值给变量b
- ::set b=%b:* =%
- ::另一种解决方案是删除带有替换的逗号:
- set bv=%b:* =%
- echo %bv%
- for /f "tokens=1* delims=]" %%a in ("%bv%") do (
- REM set b=%%b
- set a=%%a
- echo %%a
- REM echo %%b
- )
-
- set vv=%a%
-
- for /f "tokens=1* delims=." %%a in ("%vv%") do (
- set big=%%a
- echo %%a
- set b=%%b
- echo %%b
- )
-
- for /f "tokens=2* delims=." %%a in ("%vv%") do (
- set small=%%a
- echo %%a
- set b=%%b
- echo %%b
- )
-
- REM set /a win_ver=(%big%.%small%)+0
- set /a win_ver="6"+0.0
- echo %win_ver%
- echo "--------------------方式2---------------------------"
- ::https://www.jb51.net/article/17928.htm 批处理 FOR参数/F之tokens详解
- ::https://blog.csdn.net/weixin_33696106/article/details/92956216 批处理:FOR的参数/F之delims详解
-
- ::英文
- chcp 437
- ::中文
- chcp 936
- ver
- for /f "tokens=1-10 delims=.[ " %%a in ('ver') do (
- set small=%%a
- echo %%a
- set b=%%b
- echo %%b
- echo %%c
- set big1=%%d
- set small1=%%e
- echo %%f
- )
- echo %big1%.%small1%
-
- pause
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。