中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 00:31
48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行
DOS批处理 & 脚本技术(批处理室) » ghost自动改ip找不到本地连接[求助][已结]
可打印版本  1,482 / 4
第1楼 jzl168 发表于 2006-08-17 21:52
初级用户 发帖 14 积分 38
ghost自动改ip找不到本地连接[求助][已结]
不知道有没有看过网上那个ghost后自动IP改的批处理,因为那个批处理有个很要命的缺点,就是只可以改第一块网卡就是(本地连接)。如果你ghost过去的话,那台机子的网卡不是一型号的,不然就是不在同一个ipc槽就会出现(本地连接 2)不然就是(本地连接 3) 我自己试过用find提出来,每次要的时候都会多个 : 不知道怎么办。
=================================
ipconfig /all >ipconfig.txt
find "Ethernet adapter" ipconfig.txt >connect.txt
for /f "skip=2 tokens=3" %%c in (connect.txt) do set connect=%%c
=============================================
这是我得出来的connect.txt
=============================================
---------- IPCONFIG.TXT
Ethernet adapter 本地连接 2:

=============================================
我不知道怎么可以要到 (本地连接 2)
可以有其它方法要到吗?我要到的都是 (本地连接 2:)还多加一个点

PS.不好意思版主,刚才没看清楚版规。我是个新手,要了解for的作用在发话了
不过现在很想知道,正在学习中嘛 ^^

[ Last edited by jzl168 on 2006-8-17 at 22:43 ]
第2楼 3742668 发表于 2006-08-17 22:41
荣誉版主 发帖 718 积分 2,013
Well,首先,前面两句建议还是合并为一句:
ipconfig /all | find "Ethernet adapter" >connect.txt
当然也可以直接在for /f里面使用而不产生临时文件。
其次,如果你想得到 (本地连接 2),那么,你可以在启用延迟环境变量(setlocal ENABLEDELAYEDEXPANSION)后,在for的do语句里面把"本地连接 2:"赋值到变量connect,然后通过输出!connect:~0,-1!的方法来去掉最后的那个冒号。
当然,这个问题并非一定要用for才能解决,很多时候,我们应该放开我们的思路:

未测试,只是提供思路,如果想体现得自动化一点,可以把查找条件放到for /l中去,然后用goto跳转。
学习for的用法,你可以没事多翻翻论坛的老贴,全部看明白一遍你就是个批处理的高手了,另外参照我的签名。
第3楼 jzl168 发表于 2006-08-17 22:48
初级用户 发帖 14 积分 38
谢谢版主了。不过我还是作我原来的思路,上面的我以明白了。
基本上我都是每天看这里的老贴两三个小时的,人不怎么聪明嘛。多看一下多学一下
可能我刚学不久吧,思路还没有上来`
第4楼 namejm 发表于 2006-08-17 22:52
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  如果只是去掉冒号,可以这样做:
第5楼 wang6610 发表于 2006-08-18 08:30
银牌会员 发帖 488 积分 1,246
学习
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023