在动态IP和静态IP之间切换的bat脚本

由于实验室坑爹的网络,必须要手动设定IP地址才能联网(可能是某个哥们的路由器开启了DHCP)。但是穷逼如我每天要背着电脑宿舍实验室两头跑,每次都要手动设置实在是蛋疼,于是搞了一个脚本。使用方法:在system32文件夹下新建一个文本文档名为configip.ini,内容为 dynamipc=true 。如果当前为静态ip就设为false。相应的IP地址设置为自己的IP。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
@echo off
cls
color 0A
set ipadress="10.103.79.114"
set name="以太网"
set mask=255.255.255.0
set gateway=10.103.79.1
set dns1=101.226.4.6
set dns2=114.114.114.114
FOR /F "tokens=1,2 delims=^=" %%A IN (configip.ini) DO (SET %%A=%%B)
if /i %dynamic%==true goto :STATIC_IP
if /i %dynamic%==false goto :DHCP_IP
:STATIC_IP
Echo *******************************************************************************
Echo 正在修改IP地址和DNS服务器地址,请耐心等待…………
Echo *******************************************************************************
cmd /c netsh interface ip set address name=%name% source=static addr=%ipadress% mask=%mask% gateway=%gateway% gwmetric=1
cmd /c netsh interface ip set dns name=%name% source=static addr=%dns1%
cmd /c netsh interface ip add dns name=%name% addr=%dns2% index=2
@echo dynamic=false> configip.ini
goto :end
:DHCP_IP
netsh interface ip set address name=%name% source=dhcp
netsh interface ip delete dns %name% all
ipconfig /flushdns
@echo dynamic=true> configip.ini
:end
ipconfig /all
ECHO
ECHO ===============================================================================
if /i %dynamic%==false Echo 已改为动态配置
if /i %dynamic%==true Echo 已改为静态配置
ECHO ===============================================================================
Echo *******************************************************************************
Echo OK!!已修改成功!请按任意键继续…………
Echo 谢谢您的使用!
Echo *******************************************************************************
Pause