中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-09 13:45
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 用批处理修改dns???? 查看 1,302 回复 1
楼 主 用批处理修改dns???? 发表于 2008-08-23 10:35 ·  中国 河南 南阳 联通
初级用户
积分 23
发帖 7
注册 2008-05-15 13:28
18年会员
UID 118739
性别 男
状态 离线
谁帮我编一个批处理,可以从
港 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换掉,换完提示成功,不行了就提示失败。运行完了并自动删除这个批处理。怎么写?
2 发表于 2008-08-24 10:03 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
 ::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
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
论坛跳转: