本帖最后由 wd4455 于 2016-7-11 10:46 编辑
不完美解决办法http://www.bathome.net/redirect. ... 0952&pid=187566
本希望用注册表导入的办法搞定,因为需要注入不少的键值,但是弄了很久发觉{xxx}键值是不固定的不能用注册表导入的办法一次性解决问题,之后就在研究用bat的办法搞定dns的写入,在晚上百度了很久了一些脚本.研究了很久内能实现脚本.有恳请大虾修改或写一个获取所有物理网卡并自动修改所有网卡的dns的脚本么?
1.这个脚本说是能获取活动网卡的名称,win7上获取的名称完全不正确,请大虾看看哪里错了- @echo off
- ::判断本地连接 赋值a
- for /f "tokens=3,4 delims== " %%i in ('ipconfig ^|findstr /r "本"') do echo %%i %%j >DNS.txt
- for /f "tokens=1 delims==:" %%d in (DNS.txt) do set a=%%d
- ::TYPE "%~sdp0"/DNS.txt
- ::pause
- netsh interface ip set dns name="%a%" source=static addr=202.98.96.68
- netsh interface ip add dns "%a%" 61.139.2.69 index=2
- pause
复制代码 2.直接设置连接名称要等很久...- netsh interface ip set dns name="本地连接" source=static addr=202.96.199.132
- netsh interface ip add dns "本地连接" 202.96.64.38 index=2
- netsh interface ip set dns name="本地连接 2" source=static addr=202.96.199.132
- netsh interface ip add dns "本地连接 2" 202.96.64.38 index=2
- ::等等.....
复制代码 3.这个脚本完全没有获取网卡名称- FOR /F "tokens=2*" %%i IN ('ipconfig/all^|find /i "Ethernet adapter "') DO set name=%%j
- FOR /F "tokens=1* delims=:" %%i in ("%name%") do set 网卡名称=%%i
- netsh -c interface ip add dns name="%网卡名称%" addr=202.96.199.132 index=1
- netsh -c interface ip add dns name="%网卡名称%" addr=202.96.64.38 index=2
复制代码 4.从本站<支持多网卡,多模式,多系统的IP切换的批处理>提取的脚本...网卡名字倒是能获取到,但是研究了很久就是不会用(名称中会有虚拟网卡),之后的选择界面按数字没反应.后面的修改网卡的代码完全看不懂- echo 本机网卡:
- for /f "tokens=1*" %%g in ('ipconfig^|find /i "适配器"') do set/a bbb+=1&set zccc_!bbb!=%%h
- for /l %%q in (1,1,!bbb!) do set zccz=!zccc_%%q!&echo %%q.!zccz:~0,-1!
复制代码 http://www.bathome.net/viewthread.php?tid=8094
5.从本站《取名称、多连接、虚拟、多环境、路由》的代码太复杂了,完全读不懂。
http://www.bathome.net/thread-34421-1-1.html
求大神修正下代码. |