无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5892|回复: 6
打印 上一主题 下一主题

[求助] 请帮忙修改一个自动修改本地连接名称的批处理(已解决)

[复制链接]
跳转到指定楼层
1#
发表于 2014-1-5 16:42:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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)

运行结果

运行结果
推荐
发表于 2014-1-12 05:54:14 | 只看该作者
谢谢,无忧都是热心人,感觉很温暖,不想某些论坛的人都特NB
回复

使用道具 举报

2#
 楼主| 发表于 2014-1-5 19:26:10 | 只看该作者
不好意思,问题找到了,是获取网络连接名称的那一句多了一个空格引起,让大家见笑了!
回复

使用道具 举报

3#
发表于 2014-1-9 09:37:43 | 只看该作者
请问楼主能发一下修改好的吗,另外我的本地连接都到“本地连接5”了,能否同时删除多余的本地连接,谢谢

点评

代码: @echo off echo. echo 程序已经运行,请等待! echo. ::用ipconfig /all命令获取网络连接名称 FOR /F "tokens=2*" %%i IN ('ipconfig/all^|find /i "Ethernet adapter "') DO set str=%%j ::用fo  详情 回复 发表于 2014-1-9 13:03
回复

使用道具 举报

4#
 楼主| 发表于 2014-1-9 13:03:07 | 只看该作者
本帖最后由 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

回复

使用道具 举报

6#
发表于 2014-1-12 11:37:44 | 只看该作者
本帖最后由 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中字符占位还真不一样。不过,帅哥能写出这段代码,已经不是一般人了,碰到同道,挺高兴,多说了几句,见谅!
回复

使用道具 举报

7#
发表于 2014-1-13 20:43:10 | 只看该作者
学习学习,哈哈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-2-21 20:35

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表