BAT批处理判断IP地址并自动禁用启用网卡

   2015-07-13 0
核心提示:这篇文章主要介绍了BAT批处理判断IP地址并自动禁用启用网卡,需要的朋友可以参考下

某内网拨号软件设计问题,拨号后在偶然的情况下不能自动获取DHCP从而更新内网IP,后来发现通过手动释放和重新获取IP可以解决这个问题,但是每次在操作前还要看下IP地址是不是已经被更新为内网地址,若已经更新则无需操作,否则就要手动释放更新,每次敲一堆命令确实麻烦,于是打算做成批处理。

首先遇到的问题是如何获取IP地址,当然既然采用批处理那么就需要借助于现有的命令或者命令行程序,Windows系统内ipconfig命令可以获取IP地址等信息,如果我们只需要IP地址,那么就必须对获取的信息进行筛选过滤,这就需要findstr等工具的配合了,结合网上找到的示例最终代码如下:

复制代码 代码如下:

for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr "Address"') do set ip=%%i
SET ip=%ip:~1%

这样IP地址就保存在ip这个变量中了,我们可以通过ECHO %ip%获取。然后要判断这个IP地址是不是内网子段,这里我们简单起见,已知内网都是10.打头的IP地址,而其他IP段是除去10.打头的任意IP段,那么问题就简单了,直接截取该IP地址的前3位然后判断是不是10.就搞定了,这里我就贴上完整的代码供大家参考吧,写得比较简单:

复制代码 代码如下:

@ECHO OFF
for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr "Address"') do set ip=%%i
SET ip=%ip:~1%
set id=%ip:~0,3%
ECHO Current IP Address : %ip%
if NOT "%id%"=="10." goto FIXIPADDR
ECHO It seems OK:-)
goto END

:FIXIPADDR
ECHO Fix DHCP Configuration
ECHO Please wait...
ipconfig /release>NUL 1>NUL 2>NUL
ipconfig /renew>NUL 1>NUL 2>NUL

ECHO All Done
:END
PAUSE

 
标签: BAT 批处理 网卡
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Springboot + mybatis + React+redux+React-rou
    前言:            后台搭建完以后开始搭建前端,使用create-react-app搭建项目非常方便。           前端主要是如何向后台请求数据,以及如何使用redux管理state,路由的配置.           前端github地址:  https://github.com
    02-09
  • Java开发学习(四十六)----MyBatisPlus新增语句之id生成策略控制及其简化配置
    Java开发学习(四十六)----MyBatisPlus新增语句
    在前面有一篇博客:Java开发学习(四十一)----MyBatisPlus标准数据层(增删查改分页)开发,我们在新增的时候留了一个问题,就是新增成功后,主键ID是一个很长串的内容。我们更想要的是按照数据库表字段进行自增长,在解决这个问题之前,我们先来分析下ID该如
    02-09
  • Delphi ADOQuery的属性 locktype、CursorLocati
    以下数据,部分来自网络的收集,部分为自己测试后的原创整理,希望对你有帮助,更新会注明日期。1、locktype  指定用户打开数据集时对数据集的锁定级别:ltUnspecified   //未指定锁定级别ltReadOnly   //Read-only    只读   ,会加快数据读取速度lt
    02-09
  • 自己写的browse.bat与perl写的url_handler.pl的
    以前自己也写过Windows下自动打开多个浏览器测试某个URI,提高浏览器兼容性测试效率。但是写的browse.bat文件还是最基础简陋的@echo offif '%1'=='-c' (start /d "C:\Program Files\Google\Chrome\Application\" chrome.exe -new-tab %2exit)if '%1'=='-f' (s
    02-09
  • 高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器RTMP推流服务器EasyDSS如何在Nodejs中调用bat或sh脚本?
    高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体
    EasyDSS流媒体服务器软件,提供一站式的转码、点播、直播、时移回放服务,极大地简化了开发和集成的工作。点播功能主要包含:上传、转码、分发。直播功能,主要包含:直播、录像,直播支持RTMP输入,RTMP/HLS/HTTP-FLV的分发输出;录像支持自定义保存时长、检
    02-09
  • Java开发学习(四十)----MyBatisPlus入门案例与简介
    Java开发学习(四十)----MyBatisPlus入门案例与
    一、入门案例MybatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提供效率。SpringBoot它能快速构建Spring开发环境用以整合其他技术,使用起来是非常简单,对于MybatisPlus,我们也基于SpringBoot来构建学习。我们先来回顾下,Sprin
    02-09
  • maven assembly打包生成Java应用启动脚本bat和sh的方法
    maven assembly打包生成Java应用启动脚本bat和
    目录1. maven插件介绍2. 生成启动脚本2.1 创建springboot应用2.2 创建启动测试类2.3 maven依赖配置3. 测试验证3.1 执行命令3.2 生成脚本3.3 启动脚本验证1. maven插件介绍springboot应用通过maven插件appassembler-maven-plugi生成启动脚本bat和sh。根据官网
  • Java开发学习(四十二)----MyBatisPlus查询语句之条件查询
    Java开发学习(四十二)----MyBatisPlus查询语句
    一、条件查询的类MyBatisPlus将书写复杂的SQL查询条件进行了封装,使用编程的形式完成查询条件的组合。这个我们在前面都有见过,比如查询所有和分页查询的时候,都有看到过一个Wrapper类,这个类就是用来构建查询条件的,如下图所示:那么条件查询如何使用Wrap
    02-09
  • Java开发学习(四十五)----MyBatisPlus查询语句之映射匹配兼容性
    Java开发学习(四十五)----MyBatisPlus查询语句
    1、映射匹配兼容性我们已经能从表中查询出数据,并将数据封装到模型类中,这整个过程涉及到一张表和一个模型类:之所以数据能够成功的从表中获取并封装到模型对象中,原因是表的字段列名和模型类的属性名一样。那么问题就来了:问题1:表字段与编码属性设计不同
    02-09
  • Java开发学习(四十八)----MyBatisPlus删除语句之逻辑删除
    Java开发学习(四十八)----MyBatisPlus删除语句
    1、逻辑删除接下来要讲解是删除中比较重要的一个操作,逻辑删除,先来分析下问题:这是一个员工和其所签的合同表,关系是一个员工可以签多个合同,是一个一(员工)对多(合同)的表员工ID为1的张业绩,总共签了三个合同,如果此时他离职了,我们需要将员工表中的
    02-09
点击排行