windows系统用dos shell指令做的切网工具

说明:以下下脚本做成bat批处理文件即可,双击执行。注释下来,为了方便后来还有需要的情况,语法不记得的情况下再来查看一下,灵活改动成不同的切网功能也是有好处的。

::在dos界面单条执行时%a与%b各自只能有一个%,而在bat批处理中执行时需填成%%

::以下定义的IP变量最终用来存储IP地址,ETH变量最终用来存储网络接口名称

::截取IP地址,获取当前电脑的网络配置信息并存入d:/ipconfig.txt
ipconfig>d:/ipconfig.txt

::将d:/ipconfig.txt中的提取所匹配数据进行分列,取第2列数据并赋值给变量IP
for /f "delims=: tokens=2" %%a in ('find "IPv4 地址" d:/ipconfig.txt') do set IP=%%a

::截取当前已启用的本地连接名称,获取系统中所有网络接口名称并存至d:/eth1.txt
netsh interface show interface>d:/eth1.txt

::将d:/eth1.txt中网络接口名称包含“本地连接”的行转存至d:/eth2.txt
findstr "本地连接" d:/eth1.txt>d:/eth2.txt

::将d:/eth2.txt中接口状态为“已启用”的行字符串进行分列,取第1列数据赋值给变量ETH
for /f "delims=" %%b in ('find "已连接" d:/eth2.txt') do set ETH=%%b

::进行格式转换,便于获取所需的网络接口名称
::将15个连续空格合并替换成“-”
set "ETH=%ETH:               =-%"

::将12个连续空格合并替换成“-”
set "ETH=%ETH:            =-%"

::将处理后的当前变量ETH中的值写入d:/eth3.txt
set ETH>d:/eth3.txt

::获取最终所需的网络接口名称
::通过“-”进行分列,然后取第4列数据并赋值给ETH
for /f "tokens=4 delims=-" %%b in ('find "已启用" d:/eth3.txt') do set ETH=%%b

::前面经过处理已经获取了最终所需的网络接口名称与IP地址,现在根据网络接口名称进行网络配置,这里因为ETH变量最终获取的值可能有空格导致在指令指行时被系统认为是无效参数,因此需要加双引号,即"%ETH%"
netsh interface ip set address "%ETH%" static %IP% 255.255.255.0 10.4.213.252
netsh interface ip set dns "%ETH%" static 10.4.210.31 register=PRIMARY validate=no
netsh interface ip add dns "%ETH%" 10.4.210.32 validate=no
route add 10.4.210.0 mask 255.255.255.0 10.4.213.1 -p
netsh interface set interface "%ETH%" disabled 
netsh interface set interface "%ETH%" enabled

::以下为删除过程文件,目录需要加双引号
del "d:/ipconfig.txt"
del "d:/eth1.txt"
del "d:/eth2.txt"
del "d:/eth3.txt"



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值