学习啦>学习电脑>操作系统>操作系统基础知识> DOS批处理命令判断操作系统版本

DOS批处理命令判断操作系统版本

时间: 志艺942 分享

DOS批处理命令判断操作系统版本

  你还在为不知道DOS 批处理命令判断操作系统版本而烦恼么?接下来是小编为大家收集的DOS 批处理命令判断操作系统版本教程,希望能帮到大家。

  DOS 批处理命令判断操作系统版本

  在家里试用 netsh interface ip set address 这些命令更改上网IP、DNS、网关等,今天将那些代码拿来办公室一用发现尽报错,才想起来家里电脑是WIn7系统,办公室机器是XP系统,于是手工修改了一下 netsh 对应的一些参数,在XP下面终于能正常执行了。也就是说,在WIn7和WinXP下 netsh 命令对应的参数是不一样的,就比如 在XP下面的 netsh interface ip add dns 到了WIN7下,就必须得写为:netsh interface ip add dnsservers ,这就带来一个大问题,本来用批处理修改网卡IP等数据就是图方便,现在难不成要针对不同的系统单独制作一个BAT文件?那样的话我自己都会觉得自己太2了,于是想到用批处理应该可以判断操作系统版本,而针对版本执行对应版本的语句。我自己没搞过,当然只能在网上搜索了,找了好多网站,发现了一共3种类似的方法,于是稍加修改整理,发出来给大家测试看看,希望测试过的朋友提供自己操作系统版本及名称【用Ver显示的】,以便补充数据更完整的判断。代码见下:[plain] view plain copy:home

  @echo off

  cls

  @echo ================= 判断Windows版本 ============================

  rem 选择测试三种方法

  @echo [1]测试方法一

  @echo [2]测试方法二

  @echo [3]测试方法三

  @echo [Q]结束测试

  @echo ============================================================

  set /p testa=选择测试方法(记得回车):

  if /i %testa%==1 goto test0

  if /i %testa%==2 goto test1

  if /i %testa%==3 goto test2

  if /i %testa%==Q goto exit

  :test0

  rem ================================方法一===============================

  rem @echo 返回值: isXPlevel=1 XP级别;isXPlevel=2 高于XP级别;isXPlevel=0 低于XP级别

  rem set isXPlevel=0 set isXPlevel=1 & ,set isXPlevel=2 &

  ver|findstr "5\.[0-9]\.[0-9][0-9]*" > nul && (goto show0)

  ver|findstr "6\.[0-9]\.[0-9][0-9]*" > nul && (goto show01)

  goto show02

  :show0

  @echo ---------------- 测试方法一 ------------

  @echo 当前系统是: XP级别

  @echo ----------------------------------------

  goto end

  :show01

  @echo ---------------- 测试方法一 ------------

  @echo 当前系统是:高于XP级别

  @echo ----------------------------------------

  goto end

  :show02

  @echo ---------------- 测试方法一 ------------

  @echo 当前系统是:低于XP级别

  @echo ----------------------------------------

  goto end

  rem ================================方法一结束===============================

  :test1

  rem ================================方法二===============================

  ver | find "5.0." > NUL && goto show50

  ver | find "5.1." > NUL && goto show51

  ver | find "5.2." > NUL && goto show52

  ver | find "6.0." > NUL && goto show60

  ver | find "6.1." > NUL && goto show61

  :show50

  @echo ---------------- 测试方法二 ------------

  @echo 当前系统是:[ set XT=Windows2000 ]

  @echo ----------------------------------------

  goto end

  :show51

  @echo ---------------- 测试方法二 ------------

  @echo 当前系统是:[ set XT=WindowsXP ]

  @echo ----------------------------------------

  goto end

  :show52

  @echo ---------------- 测试方法二 ------------

  @echo 当前系统是:[ set XT=Windows2003 ]

  @echo ----------------------------------------

  goto end

  :show60

  @echo ---------------- 测试方法二 ------------

  @echo 当前系统是:[ set XT=WindowsVista ]

  @echo ----------------------------------------

  goto end

  :show61

  @echo ---------------- 测试方法二 ------------

  @echo 当前系统是:[ set XT=Windows7 ]

  @echo ----------------------------------------

  goto end

  rem ================================方法二结束===============================

  :test2

  rem ================================方法三结束===============================

  ver | find /i "6.1." > NUL

  if %errorlevel% equ 0 (goto win7)

  ver | find /i "5.1." > NUL

  if %errorlevel% equ 0 (goto winXP)

  :NoneTest

  @echo ---------------- 测试方法三 ------------

  @echo 当前系统暂无识别数据,请直接查看系统版本:

  ver

  @echo ----------------------------------------

  goto end

  :win7

  @echo ---------------- 测试方法三 ------------

  @echo 当前系统是:Win7!!!

  @echo ----------------------------------------

  goto end

  :winXP

  @echo ---------------- 测试方法三 ------------

  @echo 当前系统是:winXP!!!

  @echo ----------------------------------------

  goto end

  rem ================================方法三结束===============================

  :end

  pause

  goto Home

  :exit


看了“DOS 批处理命令判断操作系统版本”还想看:

1.windos怎么批处理命令

2.bat命令怎么批处理

3.基本DOS常用命令详解

4.dos命令行修改固定ip批处理程序

5.计算机的DOS操作系统详解

2779775