无忧启动论坛

标题: 请帮忙修改一个自动修改本地连接名称的批处理(已解决) [打印本页]

作者: xubo1971    时间: 2014-1-5 16:42
标题: 请帮忙修改一个自动修改本地连接名称的批处理(已解决)
本帖最后由 xubo1971 于 2014-1-8 18:48 编辑

批处理的作用:自动把“本地连接 2”、“本地连接 3”改成“本地连接”
我现在的代码:
@echo off
echo.
::用ipconfig /all命令获取网卡名称
FOR /F "tokens=2*" %%i IN ('ipconfig/all^|find /i "Ethernet adapter "') DO set str=%%j

::用for命令删除网卡名称后面的冒号
FOR /F "tokens=1* delims=:" %%i in ("%str%") do set name1=%%i

echo.
echo 获取的值是:%name1%
set name="%name1%"
echo 加双引号以后是:%name%
echo.

echo. 1、用原来获取的值作为参数
netsh interface set interface name="%name1%" newname="本地连接"
netsh interface set interface name=%name1% newname="本地连接"
echo.

echo  2、用加双引号的值作为参数
netsh interface set interface name="%name%" newname="本地连接"
netsh interface set interface name=%name% newname="本地连接"
echo.

echo. 3、用下面的语句可以成功!
set scon="本地连接 2"
netsh interface set interface name=%scon% newname="本地连接"
echo.
pause

运行结果如下图所示,把获取的本地连接名称作为参数总是出问题:
请批处理高手指导,不胜感激!

snap.jpg (37.31 KB, 下载次数: 50)

运行结果

运行结果

作者: xubo1971    时间: 2014-1-5 19:26
不好意思,问题找到了,是获取网络连接名称的那一句多了一个空格引起,让大家见笑了!
作者: shwk88888    时间: 2014-1-9 09:37
请问楼主能发一下修改好的吗,另外我的本地连接都到“本地连接5”了,能否同时删除多余的本地连接,谢谢
作者: xubo1971    时间: 2014-1-9 13:03
本帖最后由 xubo1971 于 2014-1-9 13:12 编辑
shwk88888 发表于 2014-1-9 09:37
请问楼主能发一下修改好的吗,另外我的本地连接都到“本地连接5”了,能否同时删除多余的本地连接,谢谢


代码:
@echo off
echo.
echo  程序已经运行,请等待!
echo.

::用ipconfig /all命令获取网络连接名称
FOR /F "tokens=2*" %%i IN ('ipconfig/all^|find /i "Ethernet adapter "') DO set str=%%j

::用for命令删除网络连接后面多余的冒号
FOR /F "tokens=1* delims=:" %%i in ("%str%") do set scon=%%i

::复制Win2003的ifmon.dll到XP的system32目录
copy ifmon.dll "C:\WINDOWS\system32\" /y

::重命名网络连接名称
netsh interface set interface name="%scon%" newname="本地连接"

echo.
echo   所有操作已经结束!
pause>nul

说明:用netsh命令启用/禁用本地连接需替换ifmon.dll,改名是否要替换文件我忘记了,你试一下,不需要的话可以删掉复制文件的那一句。
另外,删除多余的网络连接需要改注册表,请参见:
http://zhidao.baidu.com/link?url ... NGhtseXmaT1mSMEWk2a


作者: shwk88888    时间: 2014-1-12 05:54
谢谢,无忧都是热心人,感觉很温暖,不想某些论坛的人都特NB
作者: 2011htpcfans    时间: 2014-1-12 11:37
本帖最后由 2011htpcfans 于 2014-1-12 12:14 编辑

帅哥,你的批处理在XP下有效,在Win8/1/8/7中不行。在Win8/1/8/7中,IpConfig显示结果中,网卡列表是中文的,大概是“以太网适配器”,并且你用去除冒号“:”的方法取得本地网卡名称,也不够严谨。代码应该稍微改下,首先find /i "Ethernet adapter ",如果没有结果,再find  "适配器";在取得本地网卡名字时token=X,这个X可难倒了我,搞了好久才能适应不同情况,并且那个冒号,XP/8.1/8/7中字符占位还真不一样。不过,帅哥能写出这段代码,已经不是一般人了,碰到同道,挺高兴,多说了几句,见谅!
作者: cxincn    时间: 2014-1-13 20:43
学习学习,哈哈




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3