中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请大家帮个忙写个批处理,第一个写出来送10个Q币
作者:
标题: 请大家帮个忙写个批处理,第一个写出来送10个Q币 上一主题 | 下一主题
wqonewq
初级用户





积分 20
发帖 8
注册 2008-4-14
状态 离线
『楼 主』:  请大家帮个忙写个批处理,第一个写出来送10个Q币

请大家帮个忙写个批处理,第一个写出来送10个Q币
意思如下,

按IP分配网关,(网关2个)
比如192.168.0.1 对应的网关是192.168.0.253
192.168.0.2 对应的网关是192.168.0.254
192.168.0.3 对应的网关是192.168.0.253
192.168.0.4 对应的网关是192.168.0.254
192.168.0.5 对应的网关是192.168.0.253
192.168.0.6 对应的网关是192.168.0.254
192.168.0.7 对应的网关是192.168.0.253
192.168.0.8 对应的网关是192.168.0.254
或者尾数为1.3.5.7.9的IP,对应网关是192.168.0.253
尾数为0.2.4.6.8的IP,对应网关是192.168.0.254







如果这样实现不了,就按MAC分配网关,
比如把mac全部写入两个文本
在检测第一文本是不是有这组MAC有的话分配网关为192.168.0.253
在检测第二文本是不是有这组MAC有的话分配网关为192.168.0.254
如果都没有的话,不执行更改网关

2008-4-15 13:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 2 楼』:  

楼主的意思是IP地址最后位是偶数的,网关设为192.168.0.254

奇数的设为192.168.0.253

2008-4-15 14:04
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
wqonewq
初级用户





积分 20
发帖 8
注册 2008-4-14
状态 离线
『第 3 楼』:  是的,麻烦你了

是的,麻烦你了

2008-4-15 14:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 4 楼』:  自己测试吧(不适合多网卡):


@echo off
for /f "delims=:" %%i in ('ipconfig ^| findstr "Ethernet"') do set var=%%i
for /f "delims=: tokens=2" %%i in ('ipconfig ^| find "IP Address"') do set str=%%i
for /l %%i in (0,2,8) do if "192.168.0.%%i"=="%str: =%" netsh interface ip set address "%var:~17%" gateway=192.168.0.254 gwmetric=1
for /l %%i in (1,2,9) do if "192.168.0.%%i"=="%str: =%" netsh interface ip set address "%var:~17%" gateway=192.168.0.253 gwmetric=1
pause>nul
在实际应用中把最后一句收为echo 配置完成&ping /n 2 127.1>nul&goto :eof

[ Last edited by zw19750516 on 2008-4-15 at 04:01 PM ]



批处理之家新域名:www.bathome.net
2008-4-15 15:36
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
wqonewq
初级用户





积分 20
发帖 8
注册 2008-4-14
状态 离线
『第 5 楼』:  大哥谢谢你的帮助,但是不行的

大哥谢谢你的帮助,但是不行的

2008-4-15 20:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 6 楼』:  

是报错还是怎么的,请讲清楚,我正好改



批处理之家新域名:www.bathome.net
2008-4-15 20:13
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
wqonewq
初级用户





积分 20
发帖 8
注册 2008-4-14
状态 离线
『第 7 楼』:  大哥谢谢你的帮助

没有任何的提示

2008-4-15 21:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 8 楼』:  请仔细测试吧:

首先声明我不是为了要那10个Q币,而是为了根本上解决问题,我又在局域网中做了测试,证明是这个方案可行的。注:运行是不要打开网络配置界面不然会出错,请在运行完后查看网关,以下是我的测试码:
@echo off
for /f "delims=:" %%i in ('ipconfig ^| findstr "Ethernet"') do set var=%%i
for /f "delims=: tokens=2" %%i in ('ipconfig ^| find "IP Address"') do set str=%%i
for /l %%i in (0,2,254) do if "134.163.144.%%i"=="%str: =%" netsh interface ip set address "%var:~17%" gateway=134.163.144.2 gwmetric=1
for /l %%i in (1,2,255) do if "134.163.144.%%i"=="%str: =%" netsh interface ip set address "%var:~17%" gateway=134.163.144.1 gwmetric=1
echo 配置成功&ping /n 2 127.1>nul&goto :eof




批处理之家新域名:www.bathome.net
2008-4-16 08:17
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 9 楼』:  

这样呢?
@echo off
for /f "tokens=3 delims=: " %%i in ('ipconfig /all^|find "Ethernet adapter"')  do set link=%%i
for /f "tokens=15" %%i in ('ipconfig /all^|find /i "Address"') do set ip=%%i
for /l %%i in (1,2,9) do if %ip:~-2% equ %%i goto nets
netsh interface ip set address name="%link%" gateway=192.168.0.254 gwmetric=0
pause&goto :eof
:nets
netsh interface ip set address name="%link%" gateway=192.168.0.253 gwmetric=0
pause




简单!简单!再简单!
2008-4-16 09:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 10 楼』:  

抄LS各位的,之所以不用"tokens=3 delims=: "获取连接名称,是因为怕有人用包含空格的连接名称
@echo off
for /f "delims=:" %%i in ('ipconfig^|findstr "Ethernet"') do set LinkName=%%i
set LinkName=%LinkName:~17%
for /f "tokens=6 delims=:. " %%i in ('ipconfig^|findstr "IP Address"') do set IPAdd=%%i
set /a str=%IPAdd% %% 2
rem if "%str%" == "1" netsh interface ip set address name="%LinkName%" gateway=192.168.0.253 gwmetric=0
rem if "%str%" == "0" netsh interface ip set address name="%LinkName%" gateway=192.168.0.254 gwmetric=0
pause>nul




2008-4-16 11:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 11 楼』:  

体力劳动啊



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-4-16 12:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wqonewq
初级用户





积分 20
发帖 8
注册 2008-4-14
状态 离线
『第 12 楼』:  问题解决了,谢谢,三位都可以使用

我诚心向你们学习,要不拜你们为师,按几楼来定 zw19750516大师傅 terse二师傅

zh159三师傅,徒弟在此,请受一拜

2008-4-16 14:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: