从家里和公司使用的网络不同,经常需要来回切换,这里找了两个自动切换的bat,每次点一下就可以自动切换IP,具体如下:

脚本1

  1@echo off
  2title Alpha - IP地址修改工具
  3MODE con: COLS=80 lines=20
  4rem IP地址列表
  5set lname=本地连接
  6rem 本地连接IP地址一 公司IP地址
  7set lAdd1=192.168.1.75
  8set lmask1=255.255.252.0
  9set lGat1=192.168.1.1
 10set ldns11=10.70.5.16
 11::set ldns12=202.106.196.115
 12rem 本地连接IP地址二 家庭IP地址
 13set lAdd2=192.168.0.115
 14set lmask2=255.255.255.0
 15set lGat2=192.168.0.1
 16set ldns21=202.96.199.133
 17set ldns22=202.106.196.115
 18set wname=无线网络连接
 19rem 无线连接IP地址一 公司IP地址
 20set wAdd1=%lAdd1%
 21set wmask1=%lmask1%
 22set wGat1=%lGat1%
 23set wdns11=%ldns11%
 24set wdns12=%ldns12%
 25rem 无线连接IP地址二 家庭IP地址
 26set wAdd2=%lAdd2%
 27set wmask2=%lmask2%
 28set wGat2=%lGat2%
 29set wdns21=%ldns21%
 30set wdns22=%ldns21%
 31:home
 32 cls
 33@echo.
 34@echo      Alpha - IP地址修改工具    ( by -- 361way.com )
 35@echo.
 36@echo           1:设置 %lname%
 37@echo           2:设置 %wname%
 38@echo.
 39@echo 警告:WIN7系统必须 单击右键 [以管理员身份运行(A)] 40@echo.
 41@echo.
 42set shut=""
 43set /p shut="请输入 【<1> 或 <2> 或 <q>退出】 并按回车键 :"
 44IF NOT "%shut%"=="" (
 45 if %shut% NEQ "" SET shut=%shut:~0,1%
 46 ) else (
 47set shut="")
 48if /i %shut%==1 goto locally
 49if /i %shut%==2 goto wireless
 50if /i %shut%==q exit
 51goto home
 52:locally
 53 cls
 54@echo.
 55@echo      修改 %lname% IP地址      ( by -- 361way.com )
 56@echo.
 57@echo           1:设置 %lname% 自动获取IP地址
 58@echo           2:设置 %lname% IP地址为公司IP %lAdd1%
 59@echo           3:设置 %lname% IP地址为专用IP %lAdd2%
 60@echo.
 61@echo.
 62set shut=""
 63set /p shut="请输入 【<1> 或 <2> 或 <3> 或 <q>退出】 并按回车键 或者 按<回车键>返回主菜单 :"
 64IF NOT "%shut%"=="" (
 65 if %shut% NEQ "" SET shut=%shut:~0,1%
 66 ) else (
 67 set shut="")
 68 if /i %shut%==1 goto locallyone
 69 if /i %shut%==2 goto locallytwo
 70 if /i %shut%==3 goto locallythree
 71 if /i %shut%==q exit
 72 goto home
 73:wireless
 74 cls
 75 @echo.
 76 @echo      修改 %wname% IP地址      ( by -- 361way.com )
 77@echo.
 78 @echo           1:设置 %wname% 自动获取IP地址
 79@echo           2:设置 %wname% IP地址为公司IP %wAdd1%
 80 @echo           3:设置 %wname% IP地址为专用IP %wAdd2%
 81 @echo.
 82 @echo.
 83 set shut=""
 84 set /p shut="请输入 【<1> 或 <2> 或 <3> 或 <q>退出】 并按回车键 或者 按<回车键>返回主菜单 :"
 85IF NOT "%shut%"=="" (
 86 if %shut% NEQ "" SET shut=%shut:~0,1%
 87 ) else (
 88 set shut="")
 89 if /i %shut%==1 goto wirelessone
 90 if /i %shut%==2 goto wirelesstwo
 91 if /i %shut%==3 goto wirelessthree
 92 if /i %shut%==q exit
 93 goto home
 94rem  设置 本地网络连接 开始
 95:locallyone
 96 @echo.
 97 @echo 正在设置 %lname% IP地址 请稍后。。。
 98call :autolocall %lname% >nul
 99 @echo 设置 %lname% 自动获取IP地址成功!!
100@echo.
101 @echo.
102 goto three
103:locallytwo
104 @echo.
105 @echo 正在设置 %lname% IP地址 请稍后。。。
106call :autowireless %wname% >nul
107 cmd /c netsh interface ip set address name="%lname%" static %ladd1% %lmask1% %lGat1% >nul
108 cmd /c netsh interface ip add dns name="%lname%" %ldns11% index=1 >nul
109 cmd /c netsh interface ip add dns name="%lname%" %ldns12% index=2 >nul
110 @echo 设置 %lname% IP地址成功!!!
111@echo.
112 @echo 当前IP地址:   %ladd1%
113 @echo 当前子网掩码: %lmask1%
114 @echo 当前默认网关: %lGat1%
115 @echo 当前DNS1地址:%ldns11%
116 @echo 当前DNS2地址:%ldns12%
117 @echo.
118 @echo.
119 goto three
120:locallythree
121 @echo.
122 @echo 正在设置 %lname% IP地址 请稍后。。。
123call :autowireless %wname% >nul
124 cmd /c netsh interface ip set address name="%lname%" static %ladd2% %lmask2% %lGat2% >nul
125 cmd /c netsh interface ip add dns name="%lname%" addr=%ldns21% index=1 >nul
126 cmd /c netsh interface ip add dns name="%lname%" addr=%ldns22% index=2 >nul
127 @echo 设置 %lname% IP地址成功!!!
128@echo.
129 @echo 当前IP地址:   %ladd2%
130 @echo 当前子网掩码: %lmask2%
131 @echo 当前默认网关: %lGat2%
132 @echo 当前DNS1地址:%ldns21%
133 @echo 当前DNS2地址:%ldns22%
134 @echo.
135 @echo.
136 goto three
137 :: 设置 本地网络连接 结束
138::  设置 无线网络连接 开始
139:wirelessone
140 @echo.
141 @echo 正在设置 %wname% IP地址 请稍后。。。
142call :autowireless %wname% >nul
143 @echo 设置 %wname% 自动获取IP地址成功!!
144@echo.
145 @echo.
146 goto three
147:wirelesstwo
148 @echo.
149 @echo 正在设置 %wname% IP地址 请稍后。。。
150call :autolocall %lname% >nul
151 cmd /c netsh interface ip set address name="%wname%" static %wadd1% %wmask1% %wGat1% >nul
152 cmd /c netsh interface ip add dns name="%wname%" %wdns11% index=1 >nul
153 cmd /c netsh interface ip add dns name="%wname%" %wdns12% index=2 >nul
154 @echo 设置 %wname% IP地址成功!!!
155@echo.
156 @echo 当前IP地址:   %wadd1%
157 @echo 当前子网掩码: %wmask1%
158 @echo 当前默认网关: %wGat1%
159 @echo 当前DNS1地址:%wdns11%
160 @echo 当前DNS2地址:%wdns12%
161 @echo.
162 @echo.
163 goto three
164:wirelessthree
165 @echo.
166 @echo 正在设置 %wname% IP地址 请稍后。。。
167call :autolocall %lname% >nul
168 cmd /c netsh interface ip set address name="%wname%" static %wadd2% %wmask2% %wGat2% >nul
169 cmd /c netsh interface ip add dns name="%wname%" %wdns121% index=1 >nul
170 cmd /c netsh interface ip add dns name="%wname%" %wdns122% index=2 >nul
171 @echo 设置 %wname% IP地址成功!!!
172@echo.
173 @echo 当前IP地址:   %wadd2%
174 @echo 当前子网掩码: %wmask2%
175 @echo 当前默认网关: %wGat2%
176 @echo 当前DNS1地址:%wdns21%
177 @echo 当前DNS2地址:%wdns22%
178 @echo.
179 @echo.
180 goto three
181 :: 设置 无线网络连接 结束
182:three
183 ::pause >nul
184 set shut=""
185 set /p shut="请输入 【<a>返回主菜单】 或者 按<其他键>退出:"
186IF NOT "%shut%"=="" (
187 if %shut% NEQ "" SET shut=%shut:~0,1%
188 ) else (
189 set shut="")
190 if /i %shut%==a goto home
191 exit
192:autolocall
193 cmd /c netsh interface ip set address name="%lname%" static 0.0.0.0  0.0.0.0  0.0.0.0 >nul
194 cmd /c netsh interface ip set address name="%lname%" source=dhcp >nul
195 cmd /c netsh interface ip set dns name="%lname%" source=dhcp >nul
196 ::@echo 设置 %lname% 自动获取IP地址成功!
197goto :eof
198:autowireless
199 cmd /c netsh interface ip set address name="%wname%" static 0.0.0.0  0.0.0.0  0.0.0.0 >nul
200 cmd /c netsh interface ip set address name="%wname%" source=dhcp >nul
201 cmd /c netsh interface ip set dns name="%wname%" source=dhcp >nul
202 ::@echo 设置 %wname% 自动获取IP地址成功!
203goto :eof

脚本2

 1@echooff
 2color 1f
 3titlewindows 7 多网络环境自动切换管理
 4echo.
 5echo  ********************************************
 6echo  *** windows 7 双网络自动切换管理   ***
 7echo  ********************************************
 8echo  *** 设置IP参数,设置IE代理 ***
 9echo.
10echo.
11gotomenus
12:menus
13echo.
14echo 请选择:
15echo.
16echo 1切换到家庭代理网络
17echo.
18echo 2切换到学校自动获取IP地址网络。
19echo.
20echo 3放弃设备,退出
21echo.
22set /pselect=请输入菜单对应数字后回车:
23if /i"%select%" == "1" goto home
24if /i"%select%" == "2" goto school
25if /i"%select%" == "3" exit
26gotomenus
27:home
28cls
29netshinterface ip reset "无线网络连接"
30echo 设置IP...设置网关.....设置子网
31netshinterface ipv4 set address "无线网络连接" static 192.168.1.75 255.255.255.0 192.168.1.1
32echo 设置DNS...
33netshinterface ipv4 set dns name="无线网络连接" source=static addr=10.70.5.16
34::netshinterface ipv4 add dns name="无线网络连接" addr=61.177.7.1 index=2
35echo 设置IE代理...
36echo 正在设置代理服务器……
37regadd "HKCU/Software/Microsoft/Windows/CurrentVersion/InternetSettings" /v ProxyEnable /t REG_DWORD /d 1 /f
38regadd "HKCU/Software/Microsoft/Windows/CurrentVersion/InternetSettings" /v ProxyServer /d "192.168.100.100:808" /f
39regadd "HKCU/Software/Microsoft/Windows/CurrentVersion/InternetSettings" /v ProxyOverride /t REG_SZ /d "" /f
40echo 正在刷新设置……
41ipconfig/flushdns
42gotoexit
43:school
44cls
45echo 设置学校网络自动IP地址.
46netshinterface ipv4 set address name="无线网络连接" source=dhcp
47echo 设置DNS...
48netshinterface ipv4 set dns name="无线网络连接" source=dhcp
49echo 正在清除代理服务器设置……
50echo 正在清空代理服务器设置……
51regadd "HKCU/Software/Microsoft/Windows/CurrentVersion/InternetSettings" /v ProxyEnable /t REG_DWORD /d 0 /f
52regadd "HKCU/Software/Microsoft/Windows/CurrentVersion/InternetSettings" /v ProxyServer /d "" /f
53regadd "HKCU/Software/Microsoft/Windows/CurrentVersion/InternetSettings" /v ProxyOverride /t REG_SZ /d 0 /f
54echo 代理服务器设置已经清空
55echo 正在刷新设置……
56ipconfig/flushdns
57gotoexit
58:exit
59cls
60echo.
61cho.
62echo.
63echo************恭喜!网络设置以完成。
64echo.
65echo.
66pause
67exit

两者本质上并无区别,都是通过netsh命令配合注册表修改的方式进行修改。