标题: 用批处理修改dns????
[打印本页]
作者: sscss
时间: 2008-8-23 10:35
标题: 用批处理修改dns????
谁帮我编一个批处理,可以从
港 ns1.netvigator.com 205.252.144.228
澳门 vassun2.macau.ctm.net 202.175.3.8
深圳 ns.shenzhen.gd.cn 202.96.134.133
202.96.154.8
202.96.154.15
北京 ns.bta.net.cn 202.96.0.133
ns.spt.net.cn 202.96.199.133
ns.cn.net 202.97.16.195
202.106.0.20
202.106.148.1
202.106.196.115
广东 ns.guangzhou.gd.cn 202.96.128.143
dns.guangzhou.gd.cn 202.96.128.68
上海 ns.sta.net.cn 202.96.199.132
202.96.199.133
202.96.209.5
202.96.209.133
湖北武汉: 202.103.24.68
202.103.0.117
浙江 dns.zj.cninfo.net 202.96.102.3
202.96.96.68
202.96.104.18
陕西 ns.snnic.com 202.100.13.11
西安: 202.100.4.15
202.100.0.68
天津 ns.tpt.net.cn 202.99.96.68
辽宁 ns.dcb.ln.cn 202.96.75.68
202.96.75.64
202.96.64.68
202.96.69.38
202.96.86.18
202.96.86.24
江苏 pub.jsinfo.net 202.102.29.3
202.102.13.141
202.102.24.35
这么多的dns中随机选出两个,并把电脑上的dns换掉,换完提示成功,不行了就提示失败。运行完了并自动删除这个批处理。怎么写?
作者: Climbing
时间: 2008-8-24 10:03
::GetRandom2line.cmd
@echo off & setlocal enabledelayedexpansion
set n=0
set /a n1="%random% %% 9" + 1
set /a n2="%random% %% 9" + 1
for /f %%i in (arp.txt) do ( set /a n+=1 && echo !n!
if !n! equ %n1% echo set ip1=%%i
if !n! equ %n2% echo set ip2=%%i)
arp.txt内容如下:
75.40.16.13 00-50-8b-fc-b1-d7 dynamic
75.40.16.17 00-0b-cd-c5-78-1a dynamic
75.40.16.224 00-14-5e-19-c0-0d dynamic
75.40.16.251 00-04-38-8a-3e-00 dynamic
75.40.16.252 00-04-dc-46-e7-80 dynamic
75.40.16.253 00-e0-fc-86-4e-f1 dynamic
75.40.21.5 00-0b-cd-c5-7b-d1 dynamic
75.40.22.44 00-60-97-05-46-3f dynamic
192.168.168.254 00-50-da-8e-37-ba dynamic
运行结果如下:
第一次:
1
2
3
4
5
6
set ip1=75.40.16.253
7
8
9
set ip2=192.168.168.254
第二次:
1
2
set ip1=75.40.16.17
3
4
5
6
7
set ip2=75.40.21.5
8
9
第三次:
1
set ip1=75.40.16.13
2
set ip2=75.40.16.17
3
4
5
6
7
8
9
实现了从文本文件中任意取两行的功能,剩下的就是用netsh命令来设置dns了,这应该比较简单了。
set conn="本地连接"
netsh interface ip set dns name=%conn% source=static addr=%ip1% register=PRIMARY
netsh interface ip add dns name=%conn% addr=%ip2% index=2
删除自己:del /f /q %0