SunTB编写IP地址设置切换批处理

修正一个提取网络连接名称的错误,原因在于之前在FOR中使用空格作为分隔符
如果网络连接名为“本地连接 2”,原来只会识别成“本地连接”,从而导致设置失败
现已更正

说明:1、可以选择要设置的网络连接
2、可以手动设定固定IP,也可以通过DHCP自动获取
3、可以在批处理中预设多组MAC与IP对应数据,当内网有MAC绑定时可快速查询相应IP
4、DNS设置提供四类数据(中国电信、 中国联通/中国网通、中国移动/ 国铁通、内网网关)
DNS为福州地区数据,请自行更改为当地各宽带运营商DNS
5、再添加一功能:在设置完毕后可以选择是否当本机MAC及IP数据添加到本批处理中以便下次自动识别

批处理代码如下:


代码如下:

@title IP地址设置切换批处理 By SunTB

@echo off & setlocal enabledelayedexpansion

if exist "%windir%\system32\slmgr.vbs" (
echo.&echo 本批处理在 VISTA 以及 WIN7 中须以管理员身份运行
echo.&echo 请查看批处理窗口标题栏信息开头是否为“管理员:”
echo.&echo 如符合上述条件可按任意键继续,否则请退出批处理后以管理员身份重新运行
pause>nul
)

set n=0
for /f "delims=:" %%a in ('ipconfig/all^|findstr /i /b /c:"Ethernet adapter"') do (set /a n=!n!+1&set str=%%a&set net!n!=!str:~17!)
set n=0
for /f "tokens=2 delims=:" %%a in ('ipconfig/all^|findstr /i /c:"Description"') do (set /a n=!n!+1&set netcard!n!=%%a)
set n=0
for /f "tokens=2 delims=:" %%a in ('ipconfig/all^|findstr /i /c:"Physical Address"') do (set /a n=!n!+1&set MAC!n!=%%a)

:net
echo.&echo 请选择当前本机要设置的网络链接:
for /l %%a in (1,1,!n!) do (
echo.
echo %%a - !net%%a! - !netcard%%a!
echo MAC 地址:!MAC%%a!
)
echo.&set num=&set /p num=请输入序号并回车加以选择:
cls
if defined net%num% (set NET=!net%num%!&set MAC=!MAC%num%: =!&set MAC=!MAC:~0,17!) else (echo.&echo 输入的序号有误,请重新选择!&goto :net)

:lib
set MASK=255.255.255.0
set GATE=192.168.0.1
cls&echo.&echo 当前 !NET! 的 MAC 为 !MAC!
for /f "tokens=2 delims=[]" %%a in ('findstr /i "!MAC!" %0') do set IP=%%a
if defined IP (
set inbat=1
echo.&echo 在批处理数据库中找到对应数据
echo.&echo IP : !IP!
echo.&echo 子网掩码 : !MASK!
echo.&echo 网关 : !GATE!
echo.&set /p IP=如需改变 IP 数据请手动输入并回车,如取默认值请直接回车 :
echo.&set /p MASK=如需改变 子网掩码 数据请手动输入并回车,如取默认值请直接回车 :
echo.&set /p GATE=如需改变 网关 数据请手动输入并回车,如取默认值请直接回车 :
goto :isp
) else (
set inbat=0
echo.&echo 在批处理数据库中未找到对应 IP ,请手动选择 IP 设置方式
goto :lan
)

:lan
echo.&echo 当前要设置的网络链接是:
echo.&echo !NET! - !netcard%num%!
echo.&echo 请选择 IP 设置方式:
echo.&echo 1 - 手动设定固定 IP
echo.&echo 2 - DHCP 自动获取
echo.&set choose=&set /p choose=请输入序号并回车加以选择:
cls
if %choose% equ 1 goto :set
if %choose% equ 2 goto :dhcp
echo.&echo 输入的序号有误,请重新选择!&goto :lan

:set
set IP=192.168.0.9
cls&echo.&echo 默认 IP 为 !IP! ,如需改变请手动输入并回车,如取默认值请直接回车:
echo.&set /p IP=
cls&echo.&echo 默认子网掩码为 !MASK! ,如需改变请手动输入并回车,如取默认值请直接回车:
echo.&set /p MASK=
cls&echo.&echo 默认网关为 !GATE! ,如需改变请手动输入并回车,如取默认值请直接回车:
echo.&set /p GATE=
:isp
cls&echo.&echo 请选择宽带线路对应 DNS (福州地区):
echo.&echo 1 - 中国电信
echo.&echo 2 - 中国联通 / 中国网通
echo.&echo 3 - 中国移动 / 中国铁通
echo.&echo 4 - 内网网关%GATE%
echo.&set isp=&set /p isp=请输入序号并回车加以选择:
if %isp% equ 1 (call :10000&goto :doset)
if %isp% equ 2 (call :10010&goto :doset)
if %isp% equ 3 (call :10086&goto :doset)
if %isp% equ 4 (set DNS1=%GATE%&goto :doset)
echo.&echo 输入的序号有误,请重新选择!&goto :isp
:doset
cls&echo.&echo 正在设置 %NET% ,IP 地址为 %IP%,请稍候...
netsh interface ip set address name="%NET%" static %IP% %MASK% %GATE% 1 >nul
netsh interface ip set dns name="%NET%" static %DNS1% >nul
if defined DNS2 netsh interface ip add dns name="%NET%" %DNS2% 2 >nul
goto :end

:dhcp
cls&echo.&echo 正在设置 %NET% ,自动获取 IP 及 DNS ,请稍候...
netsh interface ip set address name="%NET%" DHCP >nul 2>nul
netsh interface ip set dns name="%NET%" DHCP >nul 2>nul
goto :end

:end
cls
ipconfig/all
echo.&echo 设置完毕,当前 IP 信息如上,请仔细查看
if !inbat! equ 0 (
echo.&echo 输入 Y 并回车可将本机 MAC 及 IP 数据添加到本批处理中以便下次自动识别
echo.&set /p addbat=若不添加数据请直接回车退出:
if /i !addbat! equ Y echo>>%0 [!MAC!]!IP!
) else (pause>nul)
exit

************************************************************
::以下DNS仅供福州地区使用,请自行更改为本地区各宽带运营商DNS

:10000
set DNS1=218.85.152.99
set DNS2=218.85.157.99
goto :eof

:10010
set DNS1=58.22.96.66
set DNS2=218.104.128.106
goto :eof

:10086
set DNS1=222.47.29.93
set DNS2=222.47.62.142
goto :eof
************************************************************
主机MAC与IP分配对应数据库,当内网有MAC绑定时可快速查询相应IP
可按示例格式([MAC地址]IP地址)自行添加,每组数据单独一行
示例:
[11-22-33-44-55-66]192.168.0.1
************************************************************

(0)

相关推荐

  • 获取外网IP地址的批处理代码

    复制代码 代码如下: ::========================================== :: IP.bat :: v0.1 :: jinminghou.cn@2009-12-22 ::========================================== @echo off title GetIP set ip=unknown echo On Error Resume Next:Set oDOM=WScript.GetObject("http://www.j

  • Windows批处理双击切换IP地址方便、快捷

    不知朋友们是否有这样的经历,把本本带到单位上网时,由于单位需要配固定IP地址,而家里是自动获得IP地址的,所以每天都要对这个IP地址设置来设置去,那么有没有简单方便的办法呢?其实我们可以做一个批处理,每次要设置IP地址的时候只要运行一下批处理即可. 一.设置IP地址批处理,将如下代码用记事本保存为.bat文件,如:IPadd.bat,双击运行即可. 复制代码 代码如下: @echo off echo HTMer修改IP地址工具 echo 正在设置您的IP地址,请稍等-- netsh interf

  • ip地址切换批处理脚本分享

    复制代码 代码如下: @echo offrem # ----------------------------------rem # 接口 IP 配置        rem # ---------------------------------- echo "=========IP 控制管理=========="echo "=> d: 自动获取IP"echo "=> h: 寝室 IP地址:66.168.1.8"echo "=&

  • Windows XP中轻松获取未使用的IP地址的批处理文件

    在我们解决Windows 操作系统的DHCP故障时,有时要找出某个地址范围内有哪些地址没有被使用.只需建立一个批处理文件,要求它只返回那些未用的IP地址,然后再将命令的结果输入到一个文本文件中. 作为网管员,在我们解决Windows 操作系统的DHCP故障时,有时要找出某个地址范围内有哪些地址没有被使用.本人以前介绍过一种方法:打开命令提示窗口,在For-in-Do循环中调用ping命令.例如,为了找出在地址范围192.168.1.1 到 192.168.1.100有哪些地址没有被使用,可以使用

  • Windows下用命令行修改IP地址的方法详解(附批处理文件)

    由于我所处的地方要经常在不同的网络之间切换,比如局域网.系统内部网和外网(光是外网我要常常在3个ADSL网之间切换).我之前一直用的方法是在本机上设置多个不同网段的IP,然后切换路由(Route),这样不同的网段通过不同的网关出去,就可以达到同时访问多个网络的目的.但是这样我发现经常可能出现一些问题,所以我决定用最原始的方法来解决,那就是在要使用某一个网段的时候就只用这个网段的IP,这样就需要不停的更换IP地址.当然,在Windows的"网络连接"属性中这样的更改是很麻烦的,不过还好的

  • 配置IP地址的批处理代码

    复制代码 代码如下: @ ECHO OFF @ ECHO.By lost63 2010.2.23 @ ECHO.功能:批处理配置IP地址.PS:本地连接 2一般为"本地连接",请根据实际情况更改! @ ECHO. 说 明 @ ECHO ----------------------------------------------------------------------- @ ECHO 请选择: @ ECHO 1.DHCP自动分配 2.手动指定IP,192.168.1.3 @ EC

  • 批处理实现固定IP地址 系统自动登录 登录后锁定计算机

    可以实现IP地址的录入和载入,也就是说录入一次后,以后用就可以直接载入不用手动输入了. 没什么版权,转载留名,毕竟就算是复制也是很多行,逻辑还是很难想清楚的.echo offmode con: cols=75 lines=20title 西西的小程序        Power By  ---  Fox-Guy :odercolor 1dclsrem 菜单项echo           ╔┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉╗echo.          ┋    西西很久没做东西了

  • SunTB编写IP地址设置切换批处理

    修正一个提取网络连接名称的错误,原因在于之前在FOR中使用空格作为分隔符 如果网络连接名为"本地连接 2",原来只会识别成"本地连接",从而导致设置失败 现已更正 说明:1.可以选择要设置的网络连接 2.可以手动设定固定IP,也可以通过DHCP自动获取 3.可以在批处理中预设多组MAC与IP对应数据,当内网有MAC绑定时可快速查询相应IP 4.DNS设置提供四类数据(中国电信. 中国联通/中国网通.中国移动/ 国铁通.内网网关) DNS为福州地区数据,请自行更改为当

  • Ubuntu16.04 静态IP地址设置(NAT方式)

    为VMware虚拟机内安装的Ubuntu 16.04设置静态IP地址NAT方式 1.安装环境 VMware 12 Ubuntu 16.04 x86_64 2.在VMware中,配置网络环境 VMware在默认安装完成之后,会创建三个虚拟的网络环境:VMnet0.VMnet1和VMnet8.其类型分别为:桥接网络,Host-only和NAT.其中,NAT表示VMWware内安装的Ubuntu将会在一个子网中,VMware通过网络地址转换,通过物理机的IP上网. 这里,我们选择NAT方式,来实现Ub

  • 批处理bat设置固定IP地址和自动IP地址

    在我个人的使用经验中,我有不同的工作环境,比如公司和家里,公司要求固定IP,而家里则使用自动获取IP的方式,所以我就在网上找了这段代码,并且经过自己的修改,可以直接双击运行就可以,方便IP地址的切换. 这里主要使用netsh命令,不太明白的可以自己去百度查,这里就不列举它的用法了,具体代码如下: 固定IP和DNS.bat 复制代码 代码如下: @echo off cls color 0A Echo *************************************************

  • 局域网中IP地址的设置

    TCP/IP协议,即Transmission Control Protocol/ Internet Protocol传输控制协议/因特网协议,是目前最完美并广为接受的通信协议之一,它不仅应用于在广域网中实现不同类型的网络以及不同类型的芯片和操作系统的主机之间的相互通信,而且也广泛应用于各种类型的以太网中,Windows 95/98的对等网也好,Windows NT.Unix.Linux.NetWare的也罢,目前都广泛地支持该协议.如何为所有的设备各自分配一个IP地址既是一件技术含量很高的工作,

  • VMware下Ubuntu 14.04静态IP地址的设置方法

    VMware虚拟机下运行Linux系统已经是非常常见了,本人就是在WMware中安装了Ubuntu,但问题是每次启动Ubuntu系统,VMWare都会为Ubuntu分配一个动态IP,在做SSH操作或者ip共享操作时很麻烦,每次都要在虚拟机中Ubuntu查看IP后再连接,很不方便,所以有了本文在VMware下Ubuntu 14.04静态IP地址的设置方法. 一.环境 二.说明 这里需要注意的是:VMware对于VMnet8采用如下规则(192.168.174.0网段为例): 第一个地址(192.1

  • 五种方法快速查找对方IP地址

    与好友在网络上相互传输资料时,有时先要知道对方计算机的IP地址,才能与对方建立信息传输通道.那么对方的IP地址该如何搜查得到呢?这样的问题你也许会嗤之以鼻,的确,查询对方计算机的IP地址,实在简单得不值得一提;可是,要让你列举出多种IP地址搜查方法时,你可能就感到勉为其难了.下面,本文就对如何快速.准确地搜查出对方好友的计算机IP地址,提出如下几种方法,相信能对大家有所帮助! 1.邮件查询法 使用这种方法查询对方计算机的IP地址时,首先要求对方先给你发一封电子邮件,然后你可以通过查看该邮件属性的

  • 用vbs实现配置静态 IP 地址

    将计算机的 IP 地址设置为 192.168.1.141,并将 IP 网关设置为 192.168.1.100. 脚本代码 复制代码 代码如下: strComputer = "."  Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")  Set colNetAdapters = objWMIService.ExecQuery _    

  • IP地址自动设置的批处理代码分享

    批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令. 小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程. 一般常规的批处理命令,按照自上而下的顺序逐行执行,也就是说,只有第一行命令执行之后,才可能执行第二行,第二行执行之后,才可以执行到第三行.....如此依次执行.那么,如果对于不同的情况,需要执行不同的既定操作,常规的执行规则显然是无法完成任务的,这种应用场景下怎么办呢?我们就需要引入流程跳转的概念,即就是

  • 使用批处理命令设置windows系统的ip地址和dns附图

    找到对应的网卡名称 使用命令:ipconfig 复制代码 代码如下: ipconfig/all Windows IP Configuration Host Name . . . . . . . . . . . . : D501-4-3 Primary Dns Suffix . . . . . . . : Node Type . . . . . . . . . . . . : Unknown IP Routing Enabled. . . . . . . . : No WINS Proxy Ena

随机推荐