批处理、VBS实现自动设置IP、默认网关、DNS、WINS、IE代理(全)_DOS/BAT

因为公司有同事负责大连、沈阳两个城市,经常在两地来回走动,到每个城市后,都要自己手动更改相应的网络配置,况且到外地时住的是酒店, 酒店上网是自动获得IP,又要将网络设置取消,真的很麻烦!于是想起写一个批处理!来解决这个问题!主要用到的命令是netsh.
-、第一种方法是将两地的网络配置先进行本机设置,然后再导出,等用到的时候,再分别导入。
1、将现有的配置导出到d:\dalian.txt中:
netsh –c interface dump > d:\dalian.txt

2、将之前导出的d:\dalian.txt文件进行导入:
netsh -f d:\dalian.txt
这种方法在执行时有点慢,不如下面的方法。

二、第二种方法
语法格式:
1、设置IP、网关
netsh interface ip set address name="本地连接" static 要设置的IP地址 子网掩码 网关IP 网关跃数

2、设置主DNS、WINS
netsh interface ip set dns/wins name="本地连接" static 要设置的DNS地址 register=PRIMARY

2、设置备用DNS、WINS
netsh interface ip add dns/wins name="本地连接" 要设置的DNS地址 index=2

具体配置如下:
1、酒店.bat

复制代码 代码如下:

@echo off
echo 取消指定网络配置,请稍等….
echo.
echo 正在设置自动获取IP地址,请稍等……
netsh interface ip set address name="本地连接" source=dhcp
echo 正在设置自动获取DNS,请稍等……
netsh interface ip set dns name="本地连接" source=dhcp
echo 设置完成!

2、大连.bat

复制代码 代码如下:

@echo off
echo 开始设置大连网络地址!
echo 正在设置大连IP ,请稍等……
netsh interface ip set address name="本地连接" source=static addr=10.15.100.86 mask=255.255.0.0
echo 正在设置大连网关,请稍等……
netsh interface ip set address name="本地连接" gateway=10.15.0.253 gwmetric=1
echo 正在设置大连主DNS ,请稍等……
netsh interface ip set dns name="本地连接" source=static addr=10.15.0.1 register=PRIMARY
echo 正在设置大连备用DNS ,请稍等……
netsh interface ip add dns name="本地连接" addr=10.100.1.2 index=2
echo 正在设置大连主WINS ,请稍等……
netsh interface ip set wins name="本地连接" source=static addr=10.15.0.1
echo 正在设置大连备用WINS ,请稍等……
netsh interface ip add wins name="本地连接" addr=10.100.1.2 index=2
echo 设置完成!

3、沈阳.bat

复制代码 代码如下:

@echo off
echo 开始设置沈阳网络地址!
echo 正在设置沈阳IP ,请稍等……
netsh interface ip set address name="本地连接" source=static addr=10.16.100.86 mask=255.255.0.0
echo 正在设置沈阳网关,请稍等……
netsh interface ip set address name="本地连接" gateway=10.16.0.253 gwmetric=1
echo 正在设置沈阳主DNS ,请稍等……
netsh interface ip set dns name="本地连接" source=static addr=10.16.0.1 register=PRIMARY
echo 正在设置沈阳备用DNS ,请稍等……
netsh interface ip add dns name="本地连接" addr=10.100.1.2 index=2
echo 正在设置沈阳主WINS ,请稍等……
netsh interface ip set wins name="本地连接" source=static addr=10.16.0.1
echo 正在设置沈阳备用WINS ,请稍等……
netsh interface ip add wins name="本地连接" addr=10.100.1.2 index=2
echo 设置完成!

至此第二种方法完成!

三、也可以在批处理中使用变量!例如大连.BAT可以按照如下方法写:

复制代码 代码如下:

@ echo off
rem 设置变量
set Nic=本地连接
rem //可以根据你的需要更改,
set Addr=10.15.100.86
set Mask=255.255.0.0
set Gway=10.15.0.253
set Dns1=10.15.0.1
set Dns2=10.100.1.2
set Wins1=10.15.0.1
set Wins2=10.100.1.2
rem //以上依次为IP地址、子网掩码、网关、首选DNS、备用DNS、首选WINS、备用WINS
echo ------------------------------------------------------
echo 正在进行大连IP设置,请稍等
rem //可以根据你的需要更改
echo. IP地址 = %Addr%
echo. 子网掩码 = %Mask%
netsh interface ip set address name=%Nic% source=static addr=%Addr% mask=%Mask% >nul
echo. 网关 = %Gway%
netsh interface ip set address name=%Nic% gateway=%Gway% gwmetric=1 >nul
echo. 首选DNS = %Dns1%
netsh interface ip set dns name=%Nic% source=static addr=%Dns1% register=PRIMARY >nul
echo. 备用DNS = %Dns2%
netsh interface ip add dns name=%Nic% addr=%Dns2% index=2 >nul
echo. 首选WINS = %Wins1%
netsh interface ip set wins name=%Nic% source=static addr=%Wins1% register=PRIMARY >nul
echo. 备用WINS = %Wins2%
netsh interface ip add wins name=%Nic% addr=%Wins2% index=2 >nul
echo ------------------------------------------------------
echo IP设置完成!

依个人习惯采用适合自己的方法。
四、自动设置IE代理
大连IE代理.bat

复制代码 代码如下:

@echo off
title 自动设置代理服务器
echo 自动设置代理服务器
rem echo 正在清空代理服务器设置……
rem reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f
rem reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "" /f
rem reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride /t REG_SZ /d 0 /f
rem echo 代理服务器设置已经清空
echo 正在设置代理服务器……
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "10.15.0.2:3128" /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride /t REG_SZ /d "10.*.*.*;192.168.*.*;<local>" /f

沈阳的一样设置即可。
或者用下面的方法:

复制代码 代码如下:

cls
color 1f
@echo 清空代理设置
@echo Windows Registry Editor Version 5.00>>1.reg
@echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]>>1.reg
@echo "ProxyEnable"=dword:00000000>>1.reg
@echo "ProxyServer"="">>1.reg
@echo "ProxyOverride"="">>1.reg
regedit /s 1.reg
del 1.reg
@echo 设置代理
@echo Windows Registry Editor Version 5.00>>1.reg
@echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]>>1.reg
@echo "ProxyEnable"=dword:00000001>>1.reg
@echo "ProxyServer"="10.15.0.2:8080">>1.reg
@echo "ProxyOverride"="10.*.*.*;192.168.*.*;<local>">>1.reg
regedit /s 1.reg
del 1.reg

五、以上配合结合,放在一个文件里,可以这样写:
网络综合配置.bat

复制代码 代码如下:

@echo off
color 1f
title "网卡&IE代理设置批处理"
echo 实现功能包括切换大连和沈阳网络配置,设置IE代理.
goto 51job
:51job
echo.
echo 请选择: 1:大连,2:沈阳,3:ADSL
set /p choice=请输入相应数字后回车:
if /i "%choice%" == "1" goto dlnet
if /i "%choice%" == "2" goto synet
if /i "%choice%" == "3" goto adsl
goto 51job
:adsl
cls
color 1f
netsh interface ip set address name="本地连接" source=dhcp
netsh interface ip set dns name="本地连接" source=dhcp
cls
goto noproxy
:noproxy
@echo Windows Registry Editor Version 5.00>>1.reg
@echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]>>1.reg
@echo "ProxyEnable"=dword:00000000>>1.reg
@echo "ProxyServer"="">>1.reg
@echo "ProxyOverride"="">>1.reg
regedit /s 1.reg
del 1.reg
goto exit
:dlnet
cls
color 1f
echo.
set /p choice=输入" N "后回车跳过网卡设置, 直接回车继续网卡设置:
if /i "%choice%" == "N" goto proxy
cls
echo 开始设置大连网络地址!
echo 正在设置大连IP ,请稍等……
netsh interface ip set address name="本地连接" source=static addr=10.15.100.86 mask=255.255.0.0
echo 正在设置大连网关,请稍等……
netsh interface ip set address name="本地连接" gateway=10.15.0.253 gwmetric=1
echo 正在设置大连主DNS ,请稍等……
netsh interface ip set dns name="本地连接" source=static addr=10.15.0.1 register=PRIMARY
echo 正在设置大连备用DNS ,请稍等……
netsh interface ip add dns name="本地连接" addr=10.100.1.2 index=2
echo 正在设置大连主WINS ,请稍等……
netsh interface ip set wins name="本地连接" source=static addr=10.15.0.1
echo 正在设置大连备用WINS ,请稍等……
netsh interface ip add wins name="本地连接" addr=10.100.1.2 index=2
echo 设置完成!
echo 正在刷新设置……
ipconfig /flushdns
echo 显示新的设置:
ipconfig /all
goto dlproxy
:dlproxy
cls
color 1f
@echo Windows Registry Editor Version 5.00>>1.reg
@echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]>>1.reg
@echo "ProxyEnable"=dword:00000001>>1.reg
@echo "ProxyServer"="10.15.0.2:8080">>1.reg
@echo "ProxyOverride"="10.*.*.*;192.168.*.*;<local>">>1.reg
regedit /s 1.reg
del 1.reg
echo 正在关闭浏览器:
taskkill /f /t /im IEXPLORE.exe
echo 正在开启浏览器
"C:\Program Files\Internet Explorer\IEXPLORE.EXE"
goto exit
:synet
cls
color 1f
echo.
set /p choice=输入" N "后回车跳过网卡设置, 直接回车继续网卡设置:
if /i "%choice%" == "N" goto proxy
cls
echo 开始设置沈阳网络地址!
echo 正在设置沈阳IP ,请稍等……
netsh interface ip set address name="本地连接" source=static addr=10.16.100.86 mask=255.255.0.0
echo 正在设置沈阳网关,请稍等……
netsh interface ip set address name="本地连接" gateway=10.16.0.253 gwmetric=1
echo 正在设置沈阳主DNS ,请稍等……
netsh interface ip set dns name="本地连接" source=static addr=10.16.0.1 register=PRIMARY
echo 正在设置沈阳备用DNS ,请稍等……
netsh interface ip add dns name="本地连接" addr=10.100.1.2 index=2
echo 正在设置沈阳主WINS ,请稍等……
netsh interface ip set wins name="本地连接" source=static addr=10.16.0.1
echo 正在设置沈阳备用WINS ,请稍等……
netsh interface ip add wins name="本地连接" addr=10.100.1.2 index=2
echo 设置完成!
goto syproxy
:syproxy
cls
color 1f
@echo Windows Registry Editor Version 5.00>>1.reg
@echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]>>1.reg
@echo "ProxyEnable"=dword:00000001>>1.reg
@echo "ProxyServer"="10.16.0.2:8080">>1.reg
@echo "ProxyOverride"="10.*.*.*;192.168.*.*;<local>">>1.reg
regedit /s 1.reg
del 1.reg
echo 正在关闭浏览器:
taskkill /f /t /im IEXPLORE.exe
echo 正在开启浏览器
"C:\Program Files\Internet Explorer\IEXPLORE.EXE"
goto exit
:exit
cls
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo 已完成所有设置.
echo.
echo
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
pause
exit

用这种方法就不用建立多个批处理文件,用一个文件做多件事,何乐而不为呢!
六、最后介绍一下如何使用VBS脚本来实现
大连网络配置.vbs

复制代码 代码如下:

on error resume next
strIPAddress = array("10.15.100.86")
strSubnetMask = array("255.255.0.0")
strGateway = array("10.15.0.253")
strGatewayMetric = array("1")
strwinsOne = "10.15.0.1"
strwinsTwo = "10.100.1.2"
strdnsOne = "10.15.0.1"
strdnsTwo = "10.100.1.2"
strComputer = "."
Set objShell = CreateObject("Wscript.shell")
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNetCards = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
wscript.echo "正在进行大连网络配置"
For Each objNetCard in colNetCards
errEnable = objNetCard.EnableStatic(strIPAddress,strSubnetMask)
errGateways = objNetCard.SetGateways(strGateway,strGatewayMetric)
arrDNSServers = Array(strdnsone, strdnstwo)
objNetCard.SetDNSServerSearchOrder(arrDNSServers)
SetWins = objNetCard.SetWINSServer(strwinsOne,strwinsTwo)
Next
wscript.echo "大连网络配置完成!"

IE代理配置.vbs

复制代码 代码如下:

strMachines = "10.15.0.2:3128;10.16.0.2:3128"
aMachines = split(strMachines, ";")
For Each machine2 in aMachines
machinearr = split(machine2, ":")
machine = machinearr(0)
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
ExecQuery("select * from Win32_PingStatus where address = '"_
& machine & "'")
For Each objStatus in objPing
If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
WScript.Echo(machine2 & " is not reachable")
else
WScript.Echo(machine2 & " is OK")
if confirm("设置代理为"& machine2 &"?") then
msgbox SetIEProxy(1,machine2)
end if
End If
Next
Next
function confirm(s)
confirm = (msgbox(s,vbYesNo,s) = 6)
end function
Function SetIEProxy(ProxyEnable,ProxyIP)
On Error Resume Next
Const HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set objReg = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}\\" & strComputer & _
"\root\default:StdRegProv")
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\"
strEntryName = "ProxyEnable"
dwvalue = ProxyEnable
objReg.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, strEntryName,dwValue
strEntryName = "ProxyServer"
dwvalue = ProxyIP
objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, strEntryName,dwValue
strEntryName = "ProxyOverride"
dwvalue = "10.*.*.*;192.168.*.*;<local>"
objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, strEntryName,dwValue
If Err = 0 Then
SetIEProxy = True
Else
SetIEProxy = False
End If
End Function
msgbox "ok"

至此所有的方法已经向大家介绍了一遍,不管是BAT还是VBS,都可以实现我们想要的功能。总的来说,还是根据自己的特定要求来选择!再执行命令时,要注意权限的问题!

时间: 2024-10-24 00:17:40

批处理、VBS实现自动设置IP、默认网关、DNS、WINS、IE代理(全)_DOS/BAT的相关文章

linux如何修改IP 默认网关 DNS

1.修改IP地址即时生效: ifconfig eth0 192.168.1.100 netmask 255.255.255.0重启生效: vim /etc/sysconfig/network-scripts/ifcfg-eth0 --增加或者修改下面几行 BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 2.修改默认网关即时生效 :route add default gw 192.168.1.1重启生效: vim /etc/s

默认网关怎么设置,默认网关是什么

网关(Gateway)又称网间连接器.协议转换器.网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连.网关既可以用于广域网互连,也可以用于局域网互连. 网关是一种充当转换重任的计算机系统或设备.在使用不同的通信协议.数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器.与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求.同时,网关也可以提供过滤和安全功能.大多数网关运行在OSI 7层协议的顶层--应用层! 大家都知道

苹果ipad/iphone5s/5c设置IP地址与DNS方法

IPAD和IPHONE配置IP地址的方法是一致的,本文仅以IPAD为例. STEP1:打开IPAD主界面,选择"设置"菜单,选择"Wi-Fi",进入Wi-Fi设置页面,如下图所示. STEP2:开启无线开关,搜索无线信号,如下图所示. STEP3:选择任意一个无线网络右边的">"按钮(本例中以TP-LINK_PocketAP_419F2E为例),弹出无线网络连接参数设置页面,如下图所示. STEP4:您可以根据您的实际网络情况,选择静态IP

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

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

Win批处理开机自动设置IP地址

@echo off REM select=1,网卡IP将被设置成172.16.200.34,select=2,网卡IP将被设置成192.168.0.5 ping -n 2 192.168.0.254 && set select=2 || set select=1 REM 获取网卡名称 for /f "skip=4 tokens=3* delims= " %%i in ('ipconfig') do ( set adapter=%%i goto out ) :out se

BAT批处理之文件与文件夹操作代码(附xcopy命令详解)_DOS/BAT

批处理中的文件.文件夹操作,xcopy命令的用法. 一,建bat文件自动执行复制,删除命令. 例1:复制cd.dll文件至windows\system32的bat文件内容: 复制代码 代码如下: copy cd.dll %windir%\system32 例2:卸载windows\system32目录中的cd.dll,即把上面复制的文件删除: 复制代码 代码如下: del %windir%\system32\cd.dll 例3:删除download文件夹中的文件,例子如下: 复制代码 代码如下:

批处理经典入门教程!(从不懂到高手)第1/5页_DOS/BAT

补充说明:批处理相对来说是比较简单的语言,大家可以通过多写多看别人的实例来学习,不懂的百度一下. 这是一篇技术教程,真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识.写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让它简单吧!看这篇教程的方法,就是慢!慢慢的,如同品一个女人.一杯茗茶,你会发现很多以前就在眼前的东西突然变的很遥远,而有些很遥远的东西却又突然回到了眼前.. 先概述一下批处理是个什么东东.批处理的定义,至今我也没

查看网关的MAC地址的批处理文件_DOS/BAT

@echo off set /p getway="请输入网关IP地址:"%getway% arp -a|find "%getway% " pause

批处理应用:恢复Mcafee重命名的可疑病毒文件扩展名_DOS/BAT

Mcafee识别到可疑病毒文件,但病毒库里没有病毒定义,就会把文件扩展名命名为vir或vxe,固建立此批处理文件,用已恢复被修改掉的exe文件 MCAFEE更名原则: Original Renamed Description Not V?? V?? File extensions that do not start with v are renamed with v as the initial letter of the file extension. For example, MYFILE.