中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 13:34
48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如何用批处理来实现???
可打印版本  720 / 2
第1楼 zitianxing 发表于 2008-02-20 16:20
新手上路 发帖 5 积分 12
[求助]如何用批处理来实现???
我想用批处理来实现以下一个过程:
首先判断我的本地连接IP地址是不是192.168.0.1,如果是则执行我的本地连接IP地址变更,变更为172.16.0.1;
如果判断我的本地连接IP地址不是192.168.0.1,则执行我的本地连接IP地址变更,变更为192.168.0.1;

请问该如果来实现!!!
我的思路是这样:
1、读取出指定网卡的IP并将其IP赋给参数a(例如读取出的IP为192.168.0.1);
2、然后将上面两个IP地址任意一个赋给另外一个参数b(例如将192.168.0.1赋给b);
3、然后对比参数a和b;
4、如果a和b相同则执行命令将IP地址变更为172.16.0.1;
5、如果a和b不相同则执行命令将IP地址变更为192.168.0.1。

我看了很多,可以直接对IP地址进行修改,加入判断也比较容易,但是怎么样读取指定网卡的(例如本地连接1)IP地址并赋给某一参数、将某一数值赋给某参数这两点我想了很多都没有办法来实现,请各位指点指点!!!
第2楼 pooronce 发表于 2008-02-20 17:35
中级用户 发帖 250 积分 484
这个常用到,如果有配合sed用的话方便得多,纯DOS命令且为单网卡的话:
for /f "tokens=2 delims=:" %i in ('ipconfig ^| findstr "IP Address"') do set iipp=%i
抓到的多带一个空格,不过已经可以方便的到处使用了,要去掉那个空格也很简单,再加一个命令就行了。

至于多网卡的情况,最好是有sed啥的配合。纯DOS麻烦得多,用几次临时文件中转也就出来了,至于具体方法,你自己试着摸一下吧。
第3楼 zitianxing 发表于 2008-02-20 17:39
新手上路 发帖 5 积分 12
谢谢,我在试试看!!!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023