高分求高手帮我改一下批处理

来源:百度知道 编辑:UC知道 时间:2024/06/23 18:52:25
帮我把name="本地连接" 这一项帮我弄成name="%name%"我命令是懂了,就是这个FIND 和FOR的语句 还不知道怎么实现 因为我这机器的本地连接好多不一样的。我现在的命令是这样的
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist phyaddr.txt del phyaddr.txt
find "Ethernet adapter" ipconfig.txt >phyaddr.txt

for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set name=%%M
这句一直不对

netsh interface ip set address name="%name%" source=static gateway=192.168.0.81 gwmetric=1
netsh interface ip add dns name="%name%" addr=192.168.0.81

看你能帮我改对不,好了我加分啊
嗯经过几位朋友的说明我现在命令总结如下
ipconfig /all >ipconfig.txt
find "Ethernet adapter" ipconfig.txt >phyaddr.txt
for /f "tokens=1,2,3*" %M in (phyaddr.txt) do set name=%O
set name=%name::=%
不过最要感谢的是最佳作案的这位。还发消息告诉我怎么解决这个问题,要不后面我都不会的

将你的for改成:

for /f "skip=2 tokens=1,2,3*" %%M in (phyaddr.txt) do set name=%%O

试一下

另外,如果上面是你想要的,
你的for以前的那些以及for可以用一句来搞定:
for /f "tokens=1,2,3*" %%M in ('ipconfig /all ^|find "Ethernet adapter"') do set name=%%O

冒号问题:
你在for后面再加一句:
set name=%name::=%
应当就OK了。

另外注意一下:
%M是用于在命令行下面。
%%M是用于批处理下面。

有兴趣可以去bbs.verybat.cn看一看

你等等,就冲着这100分,我铁定帮你搞定
应该是这句有问题:
find "Ethernet adapter" ipconfig.txt >phyaddr.txt
只能得到"Ethernet adapter 本地连接:"
for语句改成
for /f "skip=2 tokens=12" %M in (phyaddr.txt) do set name=%M

我顶,这么少分解决这么难的问题