DOS批处理命令判断操作系统版本、执行各版本对应语句
-
DOS批处理命令判断操作系统版本、执行各版本对应语句昨天在家里试用 netsh interface ip set address 这些命令更改上网IP、DNS、网关等,今天将那些代码拿来办公室一用发现尽报错,才想起来家里电脑是WIn7系统,办公室机器是XP系统,于是手工修改了一下 netsh 对应的一些参数,在XP下面终于能正常执行了。www.2cto.com也就是说,在WIn7和WinXP下 netsh 命令对应的参数是不一样的,就比如 在XP下面的 netsh interface ip add dns 到了WIN7下,就必须得写为:netsh interface ip add dnsservers ,这就带来一个大问题,本来用批处理修改网卡IP等数据就是图方便,现在难不成要针对不同的系统单独制作一个BAT文件?那样的话我自己都会觉得自己太2了,于是想到用批处理应该可以判断操作系统版本,而针对版本执行对应版本的语句。我自己没搞过,当然只能在网上搜索了,找了好多网站,发现了一共3种类似的方法,于是稍加修改整理,发出来给大家测试看看,希望测试过的朋友提供自己操作系统版本及名称【用Ver显示的】,以便补充数据更完整的判断。代码见下:[plain]:home@echo offcls@echo ================= 判断Windows版本 ============================rem 选择测试三种方法@echo [1]测试方法一@echo [2]测试方法二@echo [3]测试方法三@echo [Q]结束测试
@echo ============================================================set /p testa=选择测试方法(记得回车):if /i %testa%==1 goto test0if /i %testa%==2 goto test1if /i %testa%==3 goto test2if /i %testa%==Q goto exitwww.2cto.com:test0rem ================================方法一===============================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 endrem ================================方法一结束===============================www.2cto.com:test1rem ================================方法二===============================ver | find "5.0." > NUL && goto show50ver | find "5.1." > NUL && goto show51ver | find "5.2." > NUL && goto show52ver | find "6.0." > NUL && goto show60ver | 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 www.2cto.comrem ================================方法二结束===============================:test2rem ================================方法三结束===============================ver | find /i "6.1." > NULif %errorlevel% equ 0 (goto win7)ver | find /i "5.1." > NULif %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 endrem ================================方法三结束===============================www.2cto.com:endpausegoto Home:exit
DOS批处理命令判断操作系统版本、执行各版本对应语句的更多相关文章
- DOS批处理命令递归删除给定的文件(夹),兼VC工程清理小工具
使用dos批处理命令递归删除指定的文件(夹): (下面内容针对清理VC工程!自己按说明任意修改) 2014-06-10修改:删除前增加了[y,n]询问: echo off rem 递归删除当前文件下指 ...
- 执行环境可以在SQLPLUS.EXE或者DOS(命令行)中执行
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命 令可以把dmp文件从本地导入到远处的数据库服务器中. ...
- DOS批处理命令-if语句
IF语句是批处理中执行的条件分歧处理. 批处理中,IF分歧的写法有好几种,接下来,我们来一个一个的分析IF语法的结构. 1.IF [NOT] ERRORLEVEL 番号 批处理命令 当ERRORLEV ...
- DOS批处理命令-几个固定名称的变量
批处理中有一些变量的变量名称是固定的,具有特定的意义,接下来,我们来看看这些有特定意义的变量到底有什么意义. 1.%CD% 当前路径的路径名[盘符 + 路径] - 現在のディレクトリ文字列に ...
- DOS批处理命令-call命令
call命令 在批处理中调用别的批处理或者可运行程序或者 バッチ プログラムを別のバッチ プログラムから呼び出します. 语法 1.CALL [驱动盘符:][路径]文件名 [参数] 调用并执行[驱动盘符 ...
- DOS批处理命令-pause
“pause”用于暂停批处理的执行器并给出提示信息,然后由用户决定是继续执行还是终端执行. 语法: pause 简单一个pause,不附带任何参数. 执行pause以后会提示一句话[按任意键继续执行] ...
- DOS批处理命令-@命令
@命令是一个禁止当前语句回显的简单命令. 语法: @[command].[command]是要屏蔽的批处理命令 例如执行包含以下内容的bat文件 echo on @echo ------- @echo ...
- DOS批处理命令-for语句
for是为了循环执行一系列命令而执行的命令语句. for要处理的内容不同,语法结构稍有不同.下面就各种情形来分别 1.基本的语法:FOR %変数 IN (set) DO 命令 [参数] 语法内容解析: ...
- cocos2d-x教程3:用php或DOS批处理命令来转换文件和解压缩zip
在cocos2d-x使用中,须要不停的转换文件和压缩或解压文件.假设全人工来做,太麻烦了,且easy出错. 我如今把一些用的到批处理贴出来,供大家使用 自己主动把dat文件按数字排序重命名gz.DOS ...
随机推荐
- 关于java中是引用传递还是值传递的问题!!!经常在笔试中遇到,今天终于弄明白了!
关于JAVA中参数传递问题有两种,一种是按值传递(如果是基本类型),另一种是按引用传递(如果是對象).首先以两个例子开始:1)public class Test2 { public static vo ...
- Python读取txt文件
Python读取txt文件,有两种方式: (1)逐行读取 data=open("data.txt") line=data.readline() while line: print ...
- 【剑指offer】二叉搜索树的后序遍历序列
转载请注明出处:http://blog.csdn.net/ns_code/article/details/26092725 剑指offer上的第24题,主要考察递归思想,九度OJ上AC. 题目描写叙述 ...
- 设计模式(3)-对象创建型模式-Abstract Factory模式
1.对象创建型模式 1.3 Abstract Factory模式 1.3.1 需求 在下面情况能够使用Abstract Factory模式: • 一个系统要独立于它的产品的创建. ...
- Java基础知识强化50:运行javac 报告javac不是内部或外部命令(已解决)
1. 问题:运行javac 报告javac不是内部或外部命令,但是运行java.java-version正常 ? 看看下面三个环境变量是否设置正确: (1)环境变量 JAVA_HOME 设置JAVA ...
- mysql常用操作 mysql备份与恢复
先登录mysql ==>mysql -uroot -p 查看数据库的版本 select version(); 查看有哪些库 show datases; 查看当前处于哪个库 select da ...
- canvas-画七巧板
<!doctype html><html lang="en"> <head> <meta charset="UTF-8" ...
- DataGrid( 数据表格) 组件[4]
本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...
- html 文字溢出标签
overflow:visible;作用:能看到溢出部分. overflow: hidden;作用:溢出部分看不到 overflow:scroll; 作用:出现一个滚动条(不超过的文字也会在滚动条里) ...
- Path对象
Path是连续的Segment的集合,除了 Path 的第一个Segment和最后一个Segment外,其余的Segment的起始点都是前一个Segment的终止点,即Path对象的中的Segment ...